Commit graph

695 commits

Author SHA1 Message Date
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
589e3d977c module: fix registration of modules
Don't fail when protocol-native is already registered.
2017-07-19 12:44:10 +02:00
Wim Taymans
91d54364fc loop: add signal count to callback
Don't try to signal too many times
2017-07-19 10:44:03 +02:00
Wim Taymans
aff9564518 remote: make protocol configurable 2017-07-18 16:24:51 +02:00
Wim Taymans
629f824b91 pipewiresrc: improve remote connection errors 2017-07-18 15:28:14 +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
1acba78234 API cleanups
Fix docs
Add some more versions to interfaces
Make types for the various proxy object + inline methods that does type
checking and create proxys etc.
Set owner client of client-nodes in the properties
Pass type to bind to in create-node
Don't place global id in the info structs
Improve registration of marshal functions
Pass more types around as ids
2017-07-18 10:06:40 +02:00
Wim Taymans
465f12241e Implement protocol extensions
Add hooks that contain protocol specific interfaces that can be used
to extend the protocol. This makes it possible to add new interfaces
to the protocol and implement the protocol specific data transport.
Move these protocol specific extension to the extensions directory.
2017-07-12 18:04:00 +02:00
Wim Taymans
267547c884 memory leak fixes 2017-07-11 20:54:10 +02:00
Wim Taymans
83b4eaca53 Pass some more properties around
Only start listener when core is a daemon.
2017-07-11 20:38:48 +02:00
Wim Taymans
4f9d631910 Add version to more methods 2017-07-11 19:50:26 +02:00
Wim Taymans
f7e9e0c33a pass the global type as an id instead of string 2017-07-11 18:41:22 +02:00
Wim Taymans
d1655196c3 move things around 2017-07-11 16:08:22 +02:00
Wim Taymans
847cef83b6 Work on unifying client and server
Remove context and extensions, make client API also use the core.
Make a new pw_remote object that keeps connections with remote
instances.
Remove introspection API, it's just as easy to connect to the registry
and get updates like that.
Expand the protocol a little to make it useful for making listeners
and connections.
Move protocol specific connection to the module. Make some new
convenience methods.
Make a factory to create nodes from spa objects
Add an example of a local pipeline displaying a v4l2 source.
2017-07-11 12:40:01 +02:00
Wim Taymans
2ece95ea48 node: max_ports 0 already means no ports 2017-07-07 18:02:23 +02:00
Wim Taymans
0738f7fcf5 Rework node and ports
Rework the node and port API so that other implementations can be used
than the spa_node. The plan is to morph this into the stream and
context API.
Rework the graph API a little so that init + add is separated.
2017-07-07 17:55:26 +02:00
Wim Taymans
b0f5d34cf7 back to development 2017-07-04 15:55:39 +02:00
Wim Taymans
a3523047c7 Release 0.1.2 2017-07-04 15:09:46 +02:00
Wim Taymans
18c702be06 spec: add graphviz for dot graphs 2017-07-04 12:26:09 +02:00
Wim Taymans
da94f65493 fix some compiler warnings 2017-07-04 12:21:01 +02:00
Wim Taymans
65d17ab6fe node: set port state when suspending 2017-07-04 12:03:15 +02:00
Wim Taymans
40675fec9f spec: add more buildrequires 2017-07-04 11:43:08 +02:00
Wim Taymans
85628926bb build fixes 2017-07-04 11:38:12 +02:00
Wim Taymans
8886f5d373 build fixes 2017-07-04 11:30:49 +02:00
Wim Taymans
4558073da6 introspect: improve node introspection 2017-07-04 11:08:40 +02:00
Wim Taymans
7cccede185 fix some segfaults and lockups 2017-07-04 10:50:53 +02:00
Wim Taymans
791137e9e5 loop: fix ringbuffer handling 2017-07-04 10:18:24 +02:00
Wim Taymans
9fa1df6f2c link: work on activate/deactivate
Recursively activate links when activating nodes
2017-07-03 17:34:30 +02:00
Wim Taymans
d2f877912a Use graph to schedule things
Make real spa_graph nodes and ports and schedule those. This makes
it possible to add explicit tee and mixers in the real graph.
Rework the way we add and remove ports and nodes from the graph.
Remove confusing pw_port_link and merge core with pw_link_new()
Move scheduling in separate files, add some more graph-schedulers.
2017-06-30 19:36:39 +02:00
Wim Taymans
7297c18839 Cleanups 2017-06-29 12:53:10 +02:00
Wim Taymans
a1fdfdc818 link: streamline state changes a little
port: add methods for things that can change the port state.
2017-06-29 12:05:03 +02:00
Wim Taymans
83e65c31ab graph: improve API a little
Node allow linking to multiple inputs when there is a mixer.
2017-06-29 09:31:50 +02:00
Wim Taymans
9ee0cd7d8d fix last_port 2017-06-28 16:53:10 +02:00
Wim Taymans
d8cac792f4 spa: small performance fixes 2017-06-28 16:33:11 +02:00
Wim Taymans
387dee3237 update 2017-06-28 11:56:22 +02:00
Wim Taymans
407ee01437 fix build 2017-06-28 09:48:05 +02:00
Wim Taymans
fade5396c5 Fix build for jack 2017-06-28 09:11:05 +02:00
Wim Taymans
7fbe811a03 audiomixer: separate mixer functions 2017-06-27 17:48:34 +02:00
Wim Taymans
c14d727ae5 interfaces: cleanups 2017-06-27 14:07:35 +02:00
Wim Taymans
5f5ef3de2c stream: add node_id in stream
Trigger initialized after we created the node global so that we
can get its id.
Add the server side node_id for the stream in the stream struct.
Change the transport function to pass the node_id to the client.
Small cleanups
2017-06-27 13:24:37 +02:00
Wim Taymans
58b97c8708 back to development 2017-06-26 13:26:46 +02:00
Wim Taymans
5b2745498e Release 0.1.1
spec: updates
2017-06-26 13:13:21 +02:00
Wim Taymans
2c6b2f0b74 Add beginnings of jack module
Update spec and makefile a bit
2017-06-26 13:04:47 +02:00
Wim Taymans
bc56c59597 loop: add block flag to invoke
Remove async shutdown and block instead.
2017-06-26 10:41:19 +02:00
Wim Taymans
e776425846 flatpak: remove hardcoded check 2017-06-23 13:17:17 +02:00
Wim Taymans
c391e5088a ringbuffer: simplify 2017-06-22 09:49:12 +02:00
Wim Taymans
5c82a03ae5 video-src: don't set timestamps
Don't set timestamps on the source, because we don't provide a clock,
the consumer part doesn't know how to sync to the timestamps.
2017-06-22 08:51:44 +02:00
Wim Taymans
0fc6b1c0be fix some valgrind issues 2017-06-21 16:42:10 +02:00
David Svensson Fors
2b8aea7e9b pipewiresrc: don't clear buf_ids in close
buf_ids have to be kept so on_remove_buffer can remove them
if it happens after close.

Change-Id: I4b85918f17b8bee8c6cb4462d21b38906941e724
2017-06-21 15:14:57 +02:00
Wim Taymans
937a1567dd stream: constify format array because we copy 2017-06-21 15:14:25 +02:00