Commit graph

653 commits

Author SHA1 Message Date
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
David Svensson Fors
834da99c7c pipewiresrc: plug leaks
Change-Id: If476d21c7a26abd2e905035af4969efb23b6ec4e
2017-06-21 15:09:54 +02:00
David Svensson Fors
cd9a71d7e6 client: clear types map in destroy
Change-Id: Ic16063bdf127c3387b027a19f3406b4687372aa5
2017-06-21 15:08:58 +02:00
David Svensson Fors
412249b6ed Fix SPA include paths
Change-Id: If21f43ed7b374b82c9a89a371760eaa93d870e8a
2017-06-21 15:07:45 +02:00
David Svensson Fors
984c536a93 stream: remember mmap address
For munmap in clear_memid(), we need to remember the address in
mid->ptr.

Change-Id: I72195bfb61a1d63aa72ffb21619d888dec85bc13
2017-06-21 15:07:03 +02:00
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