Commit graph

3444 commits

Author SHA1 Message Date
Wim Taymans
055518b40d stream: add parameter support
Rework parameter handling
Hook up volume parameters
Small cleanups
2018-07-03 21:59:34 +02:00
Wim Taymans
70b04da723 media-session: express quantum relative to rate 2018-07-03 21:55:08 +02:00
Wim Taymans
9417cdd9e6 client-stream: Also link controls
Improve registration of the node, set the media.class
2018-07-03 21:47:53 +02:00
Wim Taymans
1b4a0e8d5d client-node: also implement io on the node itself 2018-07-03 21:45:07 +02:00
Wim Taymans
79a3b594f9 client-node: set parent id and owner
Make sure we set the right parent id and owner for the client node
and client-stream
Move the remote id in the proxy object and use it in the stream to
get the node id.
2018-07-03 21:43:21 +02:00
Wim Taymans
fe03ec8bde array: add some more helpers 2018-07-03 21:35:47 +02:00
Wim Taymans
6494a5aac0 link: improve state change
Don't assume running state when we already have a format
2018-07-02 13:14:01 +02:00
Wim Taymans
c315c95e55 link: improve negotiation
Separate negotiation and activation steps of the link.
Keep track of the pending amount of links to negotiate before activating
a node.
2018-07-02 12:14:50 +02:00
Wim Taymans
0122e15611 node: improve scheduling 2018-07-02 12:14:23 +02:00
Wim Taymans
6b10b0784f node: improve states
Only change state when different
2018-07-02 12:11:05 +02:00
Wim Taymans
f5cf90ccd1 media-session: improve debug 2018-07-02 12:08:03 +02:00
Wim Taymans
e68624fe7b client-stream: improve scheduling 2018-07-02 12:07:46 +02:00
Wim Taymans
710f0f59cf limit buffers to 16 until we can send more fds in one message 2018-07-02 12:04:38 +02:00
Wim Taymans
a7ec4e4688 stream: add MIN_QUEUED constant 2018-06-27 15:38:41 +02:00
Wim Taymans
6e92dbbe23 media-session: always check if session is busy
Also check if the session is busy if we explicitly provided the
target session id to join.
2018-06-27 11:11:35 +02:00
Wim Taymans
d9e3eb49cc audio-dsp: cleanups to format conversion 2018-06-26 16:55:19 +02:00
Wim Taymans
b46a0bc047 client-stream: prefer client buffer params 2018-06-26 16:54:48 +02:00
Wim Taymans
a13b5cfdc3 increase number of buffers 2018-06-26 16:54:18 +02:00
Wim Taymans
414378283c media-session: allow enabled sessions
Only enable sessions when they can be configured fully
2018-06-26 12:25:50 +02:00
Wim Taymans
a738b73567 port: we can accept a new input after mixing it 2018-06-25 17:11:07 +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
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
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
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
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
057da435da stream; use const params in finish_format 2018-06-08 12:29:26 +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
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
46ad3155b5 module: implement properties 2018-06-01 11:23:02 +02:00
Wim Taymans
c0a3220228 pipewire: improve application.name 2018-06-01 11:19:54 +02:00
Wim Taymans
bf2a6bb1d7 client-node: small cleanups 2018-06-01 11:19:22 +02:00
Wim Taymans
220d934842 stream: improve async connect 2018-06-01 11:18:22 +02:00
Wim Taymans
3fdeb64ddb stream: only try to send again when needed
We should only try to send data when the process call prepared new
data for us and we didn't already have data.
2018-05-24 16:16:11 +02:00
Wim Taymans
2e0e68e46e prefer 48KHz and 32 bit samples when we can 2018-05-24 16:14:53 +02:00
Wim Taymans
f5f1a435cc client-node: improve time and position reporting 2018-05-24 16:10:22 +02:00