Commit graph

13 commits

Author SHA1 Message Date
Wim Taymans
28ae844de9 node: always use a spa_node as the implementation
Avoid duplicating API, remove implementations from port and node and
always use an spa_node as the implementation, it's just as easy to
implement a spa node. With the implementation always being a spa_node
we will be able to better implement the negotiation of the mixers.
2017-08-25 19:02:27 +02:00
Wim Taymans
c25834a692 Work on cleanup
Add signal handlers for daemon to shut down
Add destroy listeners for modules and do cleanup
Fix some leaks
Simplify port registration in new nodes
Hide some more data structures
Let the node implementation take care of the reuse_buffer signal because
then we can get to the graph nodes to find the destination port.
Destroy modules in core cleanup. Modules should undo everything they
have done.
Activate the link after we negotiated format and buffers.
2017-08-22 18:30:10 +02:00
Wim Taymans
bece3a013b Make scheduler more generic
Add some callbacks to trigger push and pull in a graph
Remove the scheduler, make some implementations of graph push/pull
functions.
Add some properties to jack clients and nodes
Fix the parent of the clients.
Notify link format changes
2017-08-20 18:33:07 +02:00
Wim Taymans
9ad1f911b2 Improve loop callbacks
Pass just one data item to the callbacks.
Add properties to port.
Add user data to link
Handle autolink with multiple ports
More work on jack support
2017-08-11 19:21:31 +02:00
Wim Taymans
600055bd68 Move listeners to spa and rename to hooks
The listeners are generally useful in spa, move it there and rename
to hooks. Implement loop hooks with it.
Fix some cleanup issues in stream and remote
2017-08-08 16:56:29 +02:00
Wim Taymans
791fb53503 Remove some macros, we can use the paste operator before __VA_ARGS__ 2017-08-07 19:55:03 +02:00
Wim Taymans
0602d76b9e Cleanups
Only pass data to callbacks.
Rename some structs
Provide methods to access structs
2017-08-06 06:42:26 +02:00
Wim Taymans
1b79419554 cleanups
Remove signals.
Rename callbacks -> events, use listeners to listen for events.
Callbacks are still used in spa for things you can listen to only
once.
2017-08-04 16:49:13 +02:00
Wim Taymans
b898eb46cd Make structure private
Make structs private. Expose methods for things we need.
Signals only work on exposed structures so make a new callback helper to
signal events.
2017-08-04 10:18:54 +02:00
Wim Taymans
9831786eb7 Work on improved scheduling or remote nodes 2017-07-28 14:28:20 +01:00
Wim Taymans
3d9f28c676 Use remote to join nodes on remote graphs
Make a new method that can take a local node and run it in a remote
pipeline. This basically replaces all functionality of the streams
and more.
Add 2 examples for exporting a sink and a v4l2 node
Make some more things const
Cleanups
Make it possible to do things when the node needs scheduling. The
default node will schedule the local pipeline but the remote node might
also schedule the remote pipeline.
2017-07-25 19:52:31 +02:00
Wim Taymans
a003d1a39f Add parent_id
Add parent_id to globals to make hierarchy of interfaces. We can use
this to group interfaces or to describe the owner.
2017-07-18 14:58:14 +02:00
Wim Taymans
d1655196c3 move things around 2017-07-11 16:08:22 +02:00
Renamed from pipewire/modules/spa/spa-node.c (Browse further)