Wim Taymans
39240fb9c0
use _list_consume to destroy objects
2018-09-25 13:05:13 +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
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
391643271e
man: fix man page install path
...
Fixes #85
2018-09-19 16:26:24 +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
78b7da608f
channelmix: more improvements
...
work with the default channel layout
remap to default channel layout in fmconvert
Pass channel positions in resample format
2018-09-17 09:41:41 +02:00
Wim Taymans
fef616615e
filter: add leftover properties
...
Add the extra properties from the filter to the result.
2018-09-17 09:38:10 +02:00
Wim Taymans
3265407d55
audio: place side channels before rear in default layouts
...
This is probably more logical
2018-09-17 09:36:48 +02:00
Wim Taymans
fcd90b25d3
More work on multichannel
...
Reorder channels to a more common default order.
Only add channel layout when channels > 1
Don't try to link to a session that is still starting
Small sse fixes.
2018-09-14 15:23:12 +02:00
Wim Taymans
5196f7f053
audio: remove layout from audio
...
Make special format types for planar and interleaved instead of
having a field.
Add enum for audio channel positions
Add some default audio channel layouts
Place the channel layout in the audio format when possible
alsa: place audio channel positions in format
Add sse optimized channel mixing for some common cases
Remove name from port info, it's not mandatory and in the properties
Add direction to port info
2018-09-13 17:03:56 +02:00
Wim Taymans
fb3379e587
Pass channelmask around and use it to name ports
...
Use the channel name in the port names of the dsp
2018-09-11 18:09:45 +02:00
Wim Taymans
7aae01fe15
media-session: handle object remove
...
Improve debug
Deal with removed objects, handle node cleanup
Classify nodes with a type ans get rid of stream struct.
2018-09-11 15:25:35 +02:00
Wim Taymans
45807e804a
media-session: also link sinks correctly
2018-09-11 12:02:35 +02:00
Wim Taymans
593daa36d4
connection: split messages to work around fd limit
...
Split messages in multiple parts when there are too many fds to
send in one message.
2018-09-11 12:01:19 +02:00
Wim Taymans
968192f9a9
media-session: implement more
...
Track the state of nodes and ports.
Make streams for nodes tagged as stream
Make sessions for nodes that are sinks and sources and make a DSP
node for those
Rescan when a change happens and reconfigure
Link streams to sessions
2018-09-11 10:26:19 +02:00
Wim Taymans
f3dec52fd2
audio-dsp: improve cleanup
2018-09-11 10:25:40 +02:00
Wim Taymans
8fee15457e
node: init quantum to something default
2018-09-11 10:25:21 +02:00
Wim Taymans
dca37fe037
small cleanups
2018-09-11 10:24:48 +02:00
Wim Taymans
28be82029b
connection: don't reset fds on refill
...
Only reset fds when we finished reading the message
2018-09-10 18:50:05 +02:00
Wim Taymans
3c76b150c7
link-factory: also create links when possible
2018-09-10 18:49:41 +02:00
Wim Taymans
d1a399aadd
audio-dsp: fix user data
2018-09-10 18:49:04 +02:00
Wim Taymans
d80274e663
pod: small improvements for pod iterator
2018-09-10 18:46:33 +02:00
Tomas Popela
cea31ff8fb
Fix build with clang
...
By using __typeof__ instead of typeof:
/usr/include/pipewire/array.h:85:11: error: use of undeclared identifier 'typeof'; did you mean 'typeid'?
alloc = SPA_MAX(alloc, arr->extend);
2018-09-10 10:08:28 +02:00