Commit graph

29 commits

Author SHA1 Message Date
Wim Taymans
57ef49b154 client-node: fix port implementation
Make the port forward the port methods to the node.
Fix io area when not using adapter
2018-07-31 14:28:15 +02:00
Wim Taymans
ca898a00db work on separating port mixers
Make it possible to assign an arbitary node as the port mixer.
Also remove dynamically added ports.
Improve negotiation and allocation on the mixer ports
Add some more SSE optimisations
Move float mixer from the audio dsp to the port
Remove pw_node_get_free_port() and do things more explicitly.
Handle mixer ports in client-node
2018-07-31 12:23:35 +02:00
Wim Taymans
0d148654c0 stream: add more timing info
Keep track of queued data in the stream
Pass delay field around to make it possible to know about the raw
software read/write pointer and the hardware one.
Start stream position at 0
2018-07-19 13:30:27 +02:00
Wim Taymans
54c45252fd client-stream: don't run the driver
The driver will take the initiative to run the graph
2018-07-11 20:09:32 +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
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
e68624fe7b client-stream: improve scheduling 2018-07-02 12:07:46 +02:00
Wim Taymans
b46a0bc047 client-stream: prefer client buffer params 2018-06-26 16:54:48 +02:00
Wim Taymans
bb7be076bb client-stream: swap local and remote io area 2018-06-25 14:33:00 +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
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
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
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
bf2a6bb1d7 client-node: small cleanups 2018-06-01 11:19:22 +02:00
Wim Taymans
ef9fcd1093 node: keep better track of driver node
When a session disappears, try to move nodes to another session.
2018-05-17 17:40:08 +02:00
Wim Taymans
1bff5afe05 client-stream: reset format on adapter 2018-05-17 17:38:13 +02:00
Wim Taymans
bed26040ef node: add driver position struct
Pass driver info to client
use current buffersize and samplerate in client
update the buffer size dynamically based on session
2018-05-11 10:15:59 +02:00
Wim Taymans
6d79ce2589 small cleanups 2018-05-10 11:28:02 +02:00
Wim Taymans
27c53a31bc stream: add exclusive flag
With the exclusive flag we don't go through the audio-dsp.
2018-05-08 10:47:18 +02:00
Wim Taymans
a6cb6b740c client-node: make it possible to skip signal
Add an option to not signal the remote implementation when we still
have enough data.
2018-04-26 09:49:29 +02:00
Wim Taymans
f784da5505 pipewire: add info to interface load
Make it possible to pass info to interface load
Enable color logs
2018-04-26 09:48:19 +02:00
Wim Taymans
9376ba6098 client-stream: improve case without adapter
Handle the case where we don't have/need an adapter.
Add the adapter and client-node to the graph
2018-04-25 15:56:39 +02:00
Wim Taymans
d165b3b842 pipewire: improve memory cleanup
Add method to unload a spa interface.
Various other memory cleanups
2018-04-20 16:27:19 +02:00
Wim Taymans
0dc036ac84 client-stream: improvements 2018-04-19 22:02:11 +02:00
Wim Taymans
63ce244c79 add client-stream
A client stream is a more specialized way to send 1 stream to pipewire.
On the client side and receiver side it can do conversion and the
buffer size of the client can be choosen arbitrarily.
2018-04-13 20:06:37 +02:00