Wim Taymans
1276c946fd
fix compilation
2023-03-09 17:27:57 +01:00
Wim Taymans
45c7709bf6
jack: avoid division by 0
2023-03-09 17:14:05 +01:00
Wim Taymans
54cf394b1b
wav: fix build
2023-03-09 17:09:47 +01:00
Wim Taymans
670bf8fe8f
echo-cancel: add wav debug file support
2023-03-09 16:31:30 +01:00
Wim Taymans
0563e1da52
audioconvert: add debug.wav-path to save wav
2023-03-09 16:22:55 +01:00
Wim Taymans
7b13f6d26b
module-rtp: data and ctrl socket have different initiator
2023-03-09 13:14:23 +01:00
Wim Taymans
c5effbd979
module-rtp: add timer for ck requests
...
Scale RTP timestamps against the clock, allow some jitter.
Make method to query current RTP timestamps.
2023-03-09 13:14:23 +01:00
Wim Taymans
8e5b9da177
module-rtp: fix direct timestamps
...
fix some other properties.
2023-03-09 13:14:23 +01:00
Wim Taymans
3b685581a4
module-rtp: fix compilation
2023-03-09 13:14:23 +01:00
Wim Taymans
25f4e38781
module-rtp: keep track who initiated the session
2023-03-09 13:14:22 +01:00
Wim Taymans
3b33098cd7
module-rtp: improve session setup
2023-03-09 13:14:22 +01:00
Wim Taymans
0885899b7a
module-rtp: fix docs
2023-03-09 13:14:22 +01:00
Wim Taymans
9c45bb9c8d
module-rtp: use default source.ip
2023-03-09 13:14:22 +01:00
Wim Taymans
933743581b
module-rtp: fix rtp.media property
...
Use sess.media for the media type (audio/midi) because rtp.media is used
in the SDP to describe the media (midi and audio are both are audio).
2023-03-09 13:14:22 +01:00
Wim Taymans
9e67d6781d
module-rtp: fix loading of source
2023-03-09 13:14:22 +01:00
Wim Taymans
be09198249
module-rtp: port source and sink to new stream
2023-03-09 13:14:22 +01:00
Wim Taymans
e8119cb087
docs: improve docs
2023-03-09 13:14:22 +01:00
Wim Taymans
3208677ec3
pipewire-pulse: port module-rtp-send
...
In addition to loading the rtp-sink module, we now also need to load the
SAP module to announce this stream with SAP.
2023-03-09 13:14:22 +01:00
Wim Taymans
77b7c3d180
pipewire-pulse: port module-rtp-recv
...
Use the new module-rtp-sap to listen and create RTP streams from
SAP.
2023-03-09 13:14:22 +01:00
Wim Taymans
9a6fa2e6a1
module-rtp: use new random functions
2023-03-09 13:14:22 +01:00
Wim Taymans
56d2e1e880
module-rtp: improve SSRC, seq and timestamp randomness
2023-03-09 13:14:22 +01:00
Wim Taymans
eca9bbf73b
module-rtp-sap: handle session timeout
...
Handle module unload
2023-03-09 13:14:22 +01:00
Wim Taymans
de6f04a1ac
module-rtp-sap: add default rules
2023-03-09 13:14:22 +01:00
Wim Taymans
104ecad44d
module-rtp: fix SAP multicast send/recv
2023-03-09 13:14:22 +01:00
Wim Taymans
a015edb934
module-rtp: fix some memory leaks
2023-03-09 13:14:22 +01:00
Wim Taymans
e010559ffe
module-rtp: don't autoconnect midi
...
Don't unload module for inactive source, we should signal the owner
of the module with a property update instead.
2023-03-09 13:14:22 +01:00
Wim Taymans
a48822c38a
module-rtp: make source from module
...
Add match rules to SAP to decide when to announce and create RTP
streams.
Use SAP to load an RTP source.
Remove SAP code from RTP source.
2023-03-09 13:14:22 +01:00
Wim Taymans
cb1e5661dc
move SAP in separate module
...
The idea is to have the rtp-source and rtp-sink be separate modules that
can be loaded a static ip/port as well.
The SAP module would then expose existing rtp-sinks or additionally load
rtp-sources based on SAP messages.
This makes things a bit more flexible when we also want to expose the
rtp-sink using zeroconf, for example.
2023-03-09 13:14:22 +01:00
Wim Taymans
7a31278511
module-rtp: improve properties and some cleanups
2023-03-09 13:14:22 +01:00
Wim Taymans
c46e021734
module-rtp: improve properties
...
Improve refclk and ts-offset handling.
Add some more properties to avahi
2023-03-09 13:14:22 +01:00
Wim Taymans
2c28047370
module-rtp: make the streams sink/source
2023-03-09 13:14:22 +01:00
Wim Taymans
03d11953a6
module-rtp: handle state of stream better
...
Don't try to read packets when the data port or stream is not
ready.
Don't send packets when the data port is not ready or the stream
is paused.
2023-03-09 13:14:21 +01:00
Wim Taymans
bf9236ec8d
module-rtp: improve node name and description
...
Don't auto connect audio either. There are more meant as source/sink
pairs.
2023-03-09 13:14:21 +01:00
Wim Taymans
fcac5298b9
module-rtp: add and check session parameters
...
Only allow compatible sessions.
2023-03-09 13:14:21 +01:00
Wim Taymans
4dc3e0d967
module-rtp: add audio params to avahi txt
2023-03-09 13:14:21 +01:00
Wim Taymans
4507f7ab39
module-rtp: only create sessions with avahi
2023-03-09 13:14:21 +01:00
Wim Taymans
432f927da9
module-rtp: listen only for compatible sessions
2023-03-09 13:14:21 +01:00
Wim Taymans
4937da471f
module-rtp: listen to all available session types
2023-03-09 13:14:21 +01:00
Wim Taymans
4ee9696548
module-rtp: improve session setup
2023-03-09 13:14:21 +01:00
Wim Taymans
94b67603e5
module-rtp: improve session setup
2023-03-09 13:14:21 +01:00
Wim Taymans
dda5ed696b
module-rtp: fix sender timestamps
2023-03-09 13:14:21 +01:00
Wim Taymans
7c04b42e38
module-rtp: improve properties
2023-03-09 13:14:21 +01:00
Wim Taymans
3badf6f3ac
module-rtp: move avahi in rtp-session
...
It needs to be there because we need to be able to relate
zeroconf entries to udp connections.
2023-03-09 13:14:21 +01:00
Wim Taymans
7da031c969
module-rtp: add new rtp-session module
...
The module uses the apple session setup for managing peer connections.
Make a generic rtp stream object, make midi and audio implementations.
2023-03-09 13:14:21 +01:00
Wim Taymans
c36d9bef38
doc: add custom node bog post by bootlin
2023-03-09 13:13:35 +01:00
Wim Taymans
26623ff8cb
0.3.67
2023-03-09 11:42:26 +01:00
Wim Taymans
10d82faa1c
jack: update qsynth to the new passive handling
...
Now that always-process nodes (the default for jack clients) can never
idle (even with passive nodes), force the qsynth client to
node.always-process = false
We can then also use the new node.passive = out handling to only idle
and suspend when nothing is linked on the input ports.
2023-03-08 16:58:36 +01:00
Wim Taymans
99482f0166
impl-node: implement mode node.passive property values
...
The node.passive property can actually take true, in and out as values
to mark what ports to make passive. Keep track of what port direction to
make passive.
Set the passive property also on ports and make all port inherit the
property from the node first (based on direction) and then use the new
port.passive property as an override.
Make the link use the passive property from the ports that it links to
check the passive state of the link.
2023-03-08 16:55:00 +01:00
Wim Taymans
b2ba946625
jack: don't abuse the node.passive property
...
PIPEWIRE_LINK_PASSIVE is to let this client make passive links, this
doesn't mean that the client wants passive links to its own node in all
cases so don't use the node.passive for that.
Instead use a new jack.passive-links. This can then also be set per
client to make it make passive links.
2023-03-08 16:51:40 +01:00
Wim Taymans
40f43d4715
impl-link: handle passive nodes
...
Parse the NODE_PASSIVE flag on nodes.
When a node is marked passive, make a passive link unless explicitly
set with a link property.
This removes the need for the session manager to set the passive flag
and it also makes things work better when using tools like pw-link.
2023-03-08 15:28:52 +01:00