Commit graph

14335 commits

Author SHA1 Message Date
Wim Taymans
6b0c28e717 client-node: don't try to add invalid memid 2018-09-28 05:49:38 +02:00
Wim Taymans
b8fb7aeaad media-session: handle disconnect better 2018-09-26 13:22:21 +02:00
Wim Taymans
4e2855f6fb node: move root directly to driver graph 2018-09-26 13:12:45 +02:00
Wim Taymans
d4fa4e63e8 remove unused type map
Add reset methods for array and map
Signal disconnect before destroying the proxies in remote.
2018-09-26 13:11:23 +02:00
Wim Taymans
04f8da9110 improve debug 2018-09-26 11:44:50 +02:00
Wim Taymans
650f9eb9a7 media-session: make device links passive again 2018-09-26 10:52:33 +02:00
Wim Taymans
f4672cbe99 link: improve state handling 2018-09-26 10:52:11 +02:00
Wim Taymans
7a0a150337 logger: add support for logging to file 2018-09-26 10:48:01 +02:00
Wim Taymans
9b2a051daf link: add feedback links
Check if a link is a feedback loop. For feedback loops we want to
schedule the consumer before the provider.
2018-09-25 17:10:06 +02:00
Wim Taymans
0701428aec link: only idle node if all links are idle 2018-09-25 17:09:22 +02:00
Wim Taymans
74ebff6b7d add some more debug log 2018-09-25 17:08:59 +02:00
Wim Taymans
39240fb9c0 use _list_consume to destroy objects 2018-09-25 13:05:13 +02:00
Arun Raghavan
9fdb8a0e5f meson: Add an uninstalled target and script
This makes it easier to run PipeWire from the build environment
2018-09-25 09:50:27 +02:00
Wim Taymans
ec1d7b8df7 alsa: deal with less frequent hw pointer updates 2018-09-24 13:37:10 +02:00
Wim Taymans
881ee6caea node: remove process signals
Remove the process and finish signals, we are not supposed to
call these from rt threads. Instead use the link trigger to signal
the end of the graph.
2018-09-24 12:48:37 +02:00
Wim Taymans
1b933e5b32 loop: use simple hook emission
Add new simple hook emision without a cursor. The one with the cursor
is not thread safe and is not needed for the loop.
2018-09-24 11:35:46 +02:00
Wim Taymans
0aca605bfb alsa: init variable correctly
We need to initialize the frames variable correctly before calling mmap.
Also initialize the now timer when starting.
2018-09-24 10:36:53 +02:00
Wim Taymans
30316df5c8 fix some leaks 2018-09-24 09:33:09 +02:00
Wim Taymans
132ee30930 improve some debug 2018-09-24 09:32:27 +02:00
Wim Taymans
8a562c4427 module: remove resource listener in cleanup
Remove the resource listener before destroying the object because that
will trigger the resource cleanup again.
2018-09-24 09:30:14 +02:00
Wim Taymans
7e0b889a11 jack: make connections linger
Use PIPEWIRE_LATENCY to control the default latency
2018-09-21 16:48:25 +02:00
Wim Taymans
520a9831e7 stream: fix connect by name
Look up the node id for the given device name and use that to connect.
2018-09-21 16:46:51 +02:00
Wim Taymans
8a88c6da53 link-factory: add linger options
The linger option makes the link survive after the client is destroyed.
2018-09-21 16:45:52 +02:00
Wim Taymans
59f10ad453 Add proxy destroy
Make the current destroy method on the core for proxies to remove the
server side resource.
Make a new destroy method on the registry to destroy globals.
Remove the destroy method on the client-node
media-session: monitor the dsp and device node states to manage the
session state
2018-09-21 16:43:11 +02:00
Wim Taymans
ce4cfd78e7 introspect: copy link properties 2018-09-21 16:40:06 +02:00
Wim Taymans
375df60384 stream: protect time updates with atomic seqlock 2018-09-21 16:39:06 +02:00
Wim Taymans
3af7b42193 node: update quantum dynamically
Keep the requested quantum around and recalculate when nodes are
added and removed from the driver graph.
2018-09-20 17:47:22 +02:00
Wim Taymans
5ba27a7dc1 add some more debug 2018-09-20 10:14:11 +02:00
Wim Taymans
b50482e346 fix cleanup
When the node is destroyed, remove it from the node list and mark
the reference to the node gone so that when the resource is cleaned
up we don't try to destroy the node again.
2018-09-20 10:13:00 +02:00
Wim Taymans
3d1acf3032 media-session: also link source to DSP 2018-09-20 10:12:04 +02:00
Wim Taymans
1ebb3850e9 alsa: remove useless debug 2018-09-20 10:11:22 +02:00
Wim Taymans
6df567e6d4 stream: assume default channels when invalid 2018-09-19 17:30:59 +02:00
Wim Taymans
391643271e man: fix man page install path
Fixes #85
2018-09-19 16:26:24 +02:00
Wim Taymans
58efa8c2f4 man: fix man page install path
Fixes #85
2018-09-19 16:06:29 +02:00
Wim Taymans
8d2a9fcf62 pipewire: fix leak of dbus interface
Track loaded interfaces.
Add a method to release the dbus interface when the core is
destroyed.
Free SDL resources in video-play example
2018-09-19 15:58:05 +02:00
Wim Taymans
27cacaaa2e video-play: free SDL data 2018-09-19 15:01:11 +02:00
Wim Taymans
627dfa3da2 fix some leaks
Make pw_get_client_name() return a static string.
Unload the dbus interface. Rename the method to make it more obvious
that the interface needs to be unloaded.
Free module properties
Free remote objects and types
Free stream params and the array
2018-09-19 13:38:39 +02:00
Wim Taymans
4fd72eaee0 channelmix: debug matrix 2018-09-18 17:23:05 +02:00
Wim Taymans
64c38e3a6f channelmix: construct matrix and use coefficients 2018-09-18 17:06:47 +02:00
Wim Taymans
f57d1125f6 link-factory: clear links when client dies 2018-09-18 12:33:01 +02:00
Wim Taymans
61cc453cbe channelmix: mix some LFE as well 2018-09-18 12:32:46 +02:00
Wim Taymans
3dc2254196 media-session: add suspend 2018-09-18 09:28:52 +02:00
Wim Taymans
aab69948b0 node: add set_param and send_command methods 2018-09-18 09:28:17 +02:00
Wim Taymans
1ea3d5c474 compare: fix pod compare 2018-09-17 21:51:58 +02:00
Wim Taymans
96a84d09df media-session: remove session when the driver node is removed 2018-09-17 17:17:08 +02:00
Wim Taymans
c194c34326 audio-dsp: cleanup when the node is destroyed
Also clean up when the node is distroyed
2018-09-17 17:16:20 +02:00
Wim Taymans
75a22eedb0 fmt: fix conversion > 4 channels 2018-09-17 17:15:47 +02:00
Wim Taymans
20cbbd2cc9 explicitly allow mono and stereo with unknown layouts 2018-09-17 17:15:22 +02:00
Wim Taymans
ca2d35ca30 alsa: fix monitor strings 2018-09-17 17:15:05 +02:00
Wim Taymans
9e60fd0b57 stream: improve cleanup
Destroy proxies before disconnect, they might still need the connection.
Destroy the stream related objects when the stream node is destroyed.
Don't try to remove the mainloop sources from the data loop.
Don't try to create properties in _connect, we already created them
in _new.
In disconnect, make the server destroy the node and destroy our local
proxy.
2018-09-17 12:24:15 +02:00