Commit graph

841 commits

Author SHA1 Message Date
David Svensson Fors
bef8d91d72 stream: close rtwritefd
rtreadfd is added as IO in the context loop, and closed when that loop
is torn down. But rtwritefd is only used by the stream, and needs to
be closed when the stream is destroyed.

Change-Id: I7cdd623290933b2aff861003fdf1f390ff566a49
2017-06-21 15:03:19 +02:00
David Svensson Fors
879057c565 pipewirecore: Add pc file
This is useful for building out-of-tree PipeWire modules.

Change-Id: I47507349201067f01164d8ba8b95bc4ee422d082
2017-06-21 15:02:44 +02:00
Wim Taymans
bc56c72b62 transport: cleanup 2017-06-21 13:39:40 +02:00
AsciiWolf
5298ee8fae readme: fix typo (#1) 2017-06-21 13:20:30 +02:00
Wim Taymans
68413d472f Update docs a little 2017-06-21 13:17:43 +02:00
Wim Taymans
c1de5ba624 Merge pull request #3 from AsciiWolf/patch-2
design: fix typo
2017-06-21 12:54:19 +02:00
AsciiWolf
8d5a3cdceb design: fix typo 2017-06-21 12:21:38 +02:00
Wim Taymans
d1e26fea30 install extensions and server headers 2017-06-21 12:16:33 +02:00
Wim Taymans
849e0599b6 Make extensions
Make the protocol-native and client-node extensions
2017-06-21 12:11:54 +02:00
Jonas Ådahl
8a4c816d2f libpipewire.pc.in: Fix library name
The libpipwire .so file is called libpipewire-@PIPEWIRE_API_VERSION@.so,
not libpipewire.so, so tell build systems to link against the correct
library.
2017-06-21 09:12:04 +02:00
Wim Taymans
fb361706d4 Add owner resource to global and node
Use the resource as the owner for various objects.
Work on makeing the client-node an extension
2017-06-21 09:03:29 +02:00
Wim Taymans
b608599220 doc updates 2017-06-20 18:01:20 +02:00
Wim Taymans
423d40f494 back to development 2017-06-20 16:28:30 +02:00
Wim Taymans
3b5a308645 link: improve renegotiation
Only suspend an idle node when we need to configure a different format.
2017-06-20 16:22:25 +02:00
Wim Taymans
910318d71f link: only debug when asked to 2017-06-19 16:00:43 +02:00
Wim Taymans
bc22c58435 module-spa: make separate monitor and node module
Make it possible to load monitors and nodes separately by specifying
the plugin and factory of the node/monitor to load.
Add argument parsing for properties and configure them in the node
when possible.
2017-06-19 15:49:13 +02:00
Wim Taymans
4a6b1b42bc Don't hardcode plugin path
Use SPA_PLUGIN_DIR to get the plugin path.
Install plugins in subdirectory to make it match the build tree.
2017-06-19 12:19:22 +02:00
Wim Taymans
763bd1100e Add user_data to callbacks
Add user data to callbacks, it's more flexible and natural
2017-06-18 19:48:31 +02:00
Wim Taymans
59ec32c039 spec: updates 2017-06-16 19:53:03 +02:00
Wim Taymans
6df165315c man: fixes 2017-06-16 17:56:18 +02:00
Wim Taymans
573e032cc1 man: update man build 2017-06-16 17:31:40 +02:00
Wim Taymans
ab9b3ba85a docs: update 2017-06-16 16:25:19 +02:00
Wim Taymans
ec0fd20ca5 stream: cleanups 2017-06-16 16:23:57 +02:00
Wim Taymans
1231b033e6 pipewiresrc: remove useless fixate function 2017-06-16 16:23:23 +02:00
Wim Taymans
e44a5818ae Cleanups 2017-06-16 15:57:03 +02:00
Wim Taymans
dbb57fc58e Use client protocol to configure resources 2017-06-15 18:15:13 +02:00
Wim Taymans
ae708c14e7 Improve version handling
Add version numbers to protocol interfaces and implementation.
Allow allocating user_data in proxy and resource
Use separate methods to set implementation.
Add protocol object to keep track of available protocols and
interfaces. Add possibility to dynamically register interfaces.
2017-06-15 18:11:27 +02:00
Wim Taymans
c3b73ba47d Add versions to structures
Use versions instead of size
Remove user_data from callbacks, we can simply pass the callback struct.
2017-06-14 18:32:39 +02:00
Wim Taymans
4a219e81dd loop: move to plugin
Move the loop implementation to a plugin.
Organize the hooks in a list so that we can add many.
2017-06-14 16:27:04 +02:00
Wim Taymans
f55f1739e1 Rework support
Load the mapper from the support plugin
Move the support setup in pw_init
2017-06-14 11:48:41 +02:00
Wim Taymans
b9c719ac7e log: don't crash when failed to load
Improve docs for node
2017-06-14 10:16:24 +02:00
Wim Taymans
9257e3b8f3 make support plugin 2017-06-14 10:15:17 +02:00
Wim Taymans
1e71b24952 core: handle NULL props and cleanups 2017-06-12 19:47:52 +02:00
Wim Taymans
611ce2151e access: rework access checks
Remove the access struct. Allow for the access module to override any
method of a resource to do additional checks.
2017-06-12 18:20:59 +02:00
Wim Taymans
2c1245f8ef client: add busy state
When the client is busy, no methods are allowed on it until it
becomes not busy again. We can use this to wait until an async operation
completes (access checks) and to serialize the requests from the client.
2017-06-09 18:22:57 +02:00
Wim Taymans
b5e60ad02a access: cleanups
Rename some callbacks
Pass result in complete callback
2017-06-09 17:42:29 +02:00
Wim Taymans
34450ed7ed Make done event on node
Replace the AsyncDone event with an explicit done callback in the node
to signal completion of an async operation.
Pass read and write fd together with the transport
2017-06-09 17:24:18 +02:00
Wim Taymans
0af8377d10 log: dynamically load the logger API 2017-06-06 16:53:16 +02:00
Wim Taymans
b4fdcbd322 Debug: remove logger
Make a default logger and mapper in a .h file to be used by examples
Remove logger and mapper from libs
Make method to set the default mapper for the debug methods
2017-06-06 13:30:34 +02:00
Wim Taymans
4433203d5f Small fixes
Init ptr in mem
Use a default memory size when no params
Improve debug
Always push after we have a buffer from pull
2017-06-06 09:10:42 +02:00
Wim Taymans
1feec309ec logger: add loadable logger 2017-06-05 15:59:11 +02:00
Wim Taymans
2b5e5f29f7 Add client-node module 2017-06-05 10:53:54 +02:00
Wim Taymans
c30d684b2d core: fix some leaks 2017-06-02 12:54:10 +02:00
Wim Taymans
d50847ef6d Make client-node with a factory
Register a new factory to make client nodes.
Create client nodes with the more generic node_factory. We can then
remove the messages and interfaces.
2017-06-02 12:38:11 +02:00
Wim Taymans
c3aa0f24d2 node: remove redundant info 2017-06-02 11:04:18 +02:00
Wim Taymans
dbe20c9934 Improve introspection
Move introspectable info to the node and link.
Only enumerate the device formats once.
Change some field names.
Pass link format in introspection
2017-06-02 10:43:52 +02:00
Wim Taymans
e48c361a66 Add create_link message
Add create_link for completeness
Add some more docs
2017-06-02 09:46:55 +02:00
Wim Taymans
6a3b5b1bf7 documentation
thread_main_loop -> thread_loop
2017-06-01 19:25:01 +02:00
Wim Taymans
ebaaedef75 Fix change mask names 2017-05-30 20:33:32 +02:00
Wim Taymans
783bbe6c64 Small cleanups 2017-05-30 20:01:37 +02:00