Commit graph

13439 commits

Author SHA1 Message Date
Wim Taymans
e9885a8ebb fmt-ops: fix f32 to u8 conversion 2018-06-25 17:08:34 +02:00
Wim Taymans
8f41031933 alsa: clamp threshold to configured max 2018-06-25 17:07:59 +02:00
Wim Taymans
75a18d5c7f audioconvert: fix s24 samples
Various cleanups
2018-06-25 14:34:36 +02:00
Wim Taymans
35e0399d97 media-session: use session sample_rate and buffer_size as defaults 2018-06-25 14:33:27 +02:00
Wim Taymans
bb7be076bb client-stream: swap local and remote io area 2018-06-25 14:33:00 +02:00
Wim Taymans
a30722c442 pulse: various fixes and improvements 2018-06-22 17:41:12 +02:00
Wim Taymans
1276a15143 alsa: Send buffer params to PipeWire when we know the format 2018-06-22 17:39:15 +02:00
Wim Taymans
c01112d6c2 node: move position calculation to the node 2018-06-22 17:38:36 +02:00
Wim Taymans
757e2ccc79 client-stream: trigger client-node manually
Don't let the graph scheduler trigger the client-node, instead do it
ourselves when the need a buffer for the next quantum.
2018-06-22 17:37:21 +02:00
Wim Taymans
ce2e605255 client-stream: fix format and buffers for capture 2018-06-22 17:36:26 +02:00
Wim Taymans
1eae3f1a2c media-session: round buffer-size down to power of 2
use rate of the session to calculate the buffer size and round down
to power of 2
2018-06-22 17:31:54 +02:00
Wim Taymans
73602ad98a media-session: improve category 2018-06-22 17:31:36 +02:00
Wim Taymans
ecc287edcf link: improve debug 2018-06-22 17:31:01 +02:00
Wim Taymans
6025b30a46 audio-src: add volume 2018-06-22 17:30:19 +02:00
Wim Taymans
f8c2038663 port: Improve scheduling status return values 2018-06-22 17:29:49 +02:00
Wim Taymans
725e41d715 audioconvert: improve scheduling 2018-06-22 17:27:57 +02:00
Wim Taymans
4afda5405f alsa: fill silence when nothing written 2018-06-22 17:23:52 +02:00
Wim Taymans
bbd5c941d2 client-stream: send node_id to client
Send the node_id of the client-stream node to the client.
2018-06-18 13:19:54 +02:00
Wim Taymans
ca61fd1405 media-session: prefer non-busy session for exclusive access
When we look for a good session for exclusive, prefer the non-busy
session.
2018-06-18 12:25:54 +02:00
Wim Taymans
a198943b1a client-stream: fix capture case
Setup the processing order differently for capture, we first want
to schedule the converters and then the client-node.
2018-06-18 12:24:20 +02:00
Wim Taymans
91a10d7c9e v4l2: Check device node
Check the device node on init.
Only remove the source once
2018-06-18 11:33:06 +02:00
Wim Taymans
43e3ecdb3b video-src: improve properties
Mark ourselves as a video source so that a session is created for
us.
2018-06-18 11:13:36 +02:00
Wim Taymans
dbc3b4c1a4 media-session: improve plugged time
Use the node plugged time for the session or else use the time when the
session was created.
2018-06-18 11:12:42 +02:00
Wim Taymans
4574adcd2e clean up listeners 2018-06-15 13:12:10 +02:00
Wim Taymans
1e54d9e00b hook: make safer
Also protect against removal of the next hook by using a cursor.
2018-06-15 13:11:00 +02:00
Wim Taymans
85f81ab4e2 config: fail when something fails 2018-06-15 13:10:27 +02:00
Wim Taymans
70bdb72857 loop: add back the destroy loop
We need to keep the sources around until all sources are dispatched. If
not: source A and B are active after poll, A is dispatched first and
removes B, when B is then dispatched, the memory is gone. We don't
free the source but simply mark the fd invalid and move it do a
destroy list. After all sources are dispatched we destroy.
This is safe because removing a source is either done from the poll
context (with invoke) or when holding the right locks.
2018-06-15 13:06:59 +02:00
Wim Taymans
c42d495771 loop: blocking wait
Release the locks before waiting.
2018-06-15 13:06:13 +02:00
Wim Taymans
d619b77425 monitor: safely remove pending requests 2018-06-15 13:05:16 +02:00
Wim Taymans
c208511f53 proxy: reuse id when server removed it
When we destroy the proxy, just clear the id. We then remove the id
completely when the server sends a remove_id request. This avoid
reusing the proxy id before the server has finished with it.
2018-06-15 13:01:08 +02:00
Wim Taymans
d1e2f69324 connection: reset number of fds 2018-06-15 12:59:08 +02:00
Wim Taymans
18f0194008 audioconvert: apply ouput range to resampler as well 2018-06-15 12:45:04 +02:00
Wim Taymans
4ac21aea53 stream: remove conversion
Improve audioconvert to also split the output.
Remove the format conversion from the stream and move into the
server client-stream.
2018-06-15 11:31:42 +02:00
Wim Taymans
acfd07c504 client-stream: allocate the right number of buffers 2018-06-15 11:30:20 +02:00
Wim Taymans
ba0a68aab3 client-stream: improve debug 2018-06-15 11:29:38 +02:00
Wim Taymans
0c359a6819 spa: make a #define for default rate and channels 2018-06-15 11:26:03 +02:00
Wim Taymans
b53f96eae9 alloc: fix buffer data mem
We also need to skip over the metadata and chunk memory
2018-06-15 11:13:02 +02:00
Wim Taymans
057da435da stream; use const params in finish_format 2018-06-08 12:29:26 +02:00
Wim Taymans
1b37db8add resample: fix resample length
Don't use output sizes as input size for the next channel.
2018-06-08 12:27:19 +02:00
Wim Taymans
2254a124af implement more api 2018-06-07 11:16:09 +02:00
Wim Taymans
b90101bf5b channelmap: fix parse 2018-06-07 11:04:52 +02:00
Wim Taymans
261452d400 jack: fix for position and properties 2018-06-07 11:03:00 +02:00
Wim Taymans
e5629b23f3 client-node: pass position around
Pass the position from server to clients
Implement current time in stream.c using the position info
2018-06-07 11:01:20 +02:00
Wim Taymans
3d25e254ef client-node: implement node property update
Make it possible to update the node properties
Make it possible to update the remote properties
2018-06-07 10:23:41 +02:00
Wim Taymans
5d30ccfaff alsa: avoid crash when connection fails
Set the client api in properties
2018-06-07 10:18:33 +02:00
Wim Taymans
b029000610 thread-loop: set thread name 2018-06-05 20:11:50 +02:00
Wim Taymans
eb8b1fd421 properties: add setva function 2018-06-05 20:11:32 +02:00
Wim Taymans
fe932db2c6 Various improvements
context: fix memory free
subscribe: implement dummy methods
introspect: implement more
stream: keep track of dequeued buffers ourselves because we need to
be able to cancel and keep track of writable size.
2018-06-05 20:10:31 +02:00
Wim Taymans
68643fd25a context: don't free NULL properties 2018-06-01 11:42:23 +02:00
Wim Taymans
4005cf03e6 meson: add puleaudio library 2018-06-01 11:38:18 +02:00