Wim Taymans
898bb4b059
audio-dsp: fix capture again
...
Use splitter element to split device format to float32
2018-08-20 17:57:38 +02:00
Wim Taymans
95727d3b01
protocol: don't log error on disconnect
...
Just log an info message on disconnect. Fixes #33
2018-08-17 13:34:15 +02:00
Wim Taymans
26fa9eae39
clock: set rate correctly
...
The ticks multiplied by the rate should give the time in seconds.
2018-08-15 21:31:59 +02:00
Wim Taymans
d4ab36d52a
client-node: only clear ports once
2018-08-14 16:53:05 +02:00
Wim Taymans
a6ad8f747f
remove spalib
2018-08-14 15:29:25 +02:00
Wim Taymans
f532fd8681
don't link with spalib when we don't have to
2018-08-14 14:54:31 +02:00
Wim Taymans
3b1c40f17f
pod: move compare and filter functions out of the library
2018-08-14 14:52:32 +02:00
Wim Taymans
7bb0efa887
build: fix module install directory
2018-08-14 14:40:42 +02:00
Wim Taymans
17cc9d2039
add media session example beginnings
...
Add an example media session that runs as a separate program instead
of a module
2018-08-09 11:07:41 +02:00
Wim Taymans
a63523650d
hooks: enforce version on hook emission
...
Pass the minimum required version to the hook emission and only call
events when the handler is recent enough.
Add some macros to make event emission easier to read.
2018-08-01 21:41:25 +02:00
Wim Taymans
899e67eb61
client-node: clear buffers when mixer is removed
2018-07-31 21:36:10 +02:00
Wim Taymans
60ec372212
floatmix: add missing file
2018-07-31 19:17:44 +02:00
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
2b1b356455
audio-dsp: add some SSE2
2018-07-17 09:52:27 +02:00
Wim Taymans
fba00fb791
clock: remove clock interface
...
Remove the clock interface, we need to get timing information with an io
area to get the required precision and performance.
2018-07-17 09:50:51 +02:00
Wim Taymans
cc542935ea
client-node: add more generic set_io method
...
Replace the set_position method with set_io that allows us to share
other types of state with the client.
2018-07-12 15:33:07 +02:00
Wim Taymans
5a3eee9cac
command: remove clock-update
2018-07-12 13:22:50 +02:00
Wim Taymans
6976175d65
module: remove obsolete code
2018-07-12 12:41:09 +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
ef307d37bc
node: add node session property
2018-07-04 15:30:41 +02:00
Wim Taymans
bc2b965591
audio-dsp: use the quantum to fill underrun with silence
2018-07-04 10:34:11 +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
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
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
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
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
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
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
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
46ad3155b5
module: implement properties
2018-06-01 11:23:02 +02:00