Wim Taymans
8d62bb1e97
module-zeroconf: fix compilation
2023-06-13 08:52:32 +02:00
Christian Glombek
d18db904b9
module-zeroconf: Fix deduplication
...
Ports recent fixes and improvements regarding the deduplication of sink
creation from module-raop to module-zeroconf.
- 0bb0b524c7
- 14fd7f7bf7
2023-06-13 03:09:54 +02:00
Christian Glombek
389cbe7aef
module-raop: Avoid props creation for duplicates
2023-06-12 18:40:04 +02:00
Wim Taymans
da86c2030c
module-netjack2: improve OPUS fallback
2023-06-12 18:37:47 +02:00
Wim Taymans
deba261a1b
module-netjack2: fix compilation without OPUS
2023-06-12 18:25:53 +02:00
Wim Taymans
fb63bb3c5c
module-netjack2: start follower after START message
2023-06-12 17:56:20 +02:00
Wim Taymans
0cfd94eb52
module-netjack2: support int and opus in driver
2023-06-12 17:40:16 +02:00
Wim Taymans
19f3e422e1
module-netjack2: add int support
2023-06-12 17:01:13 +02:00
Wim Taymans
8dfb22d12b
module-netjack2: add opus support
2023-06-12 11:44:50 +02:00
Wim Taymans
802b51a0cb
module-raop: set min-latency correctly
...
I think we need to set this to the min-latency, not the latency
we will report in the sync messages.
See #3282
2023-06-11 19:51:54 +02:00
Wim Taymans
8eb6c0ec33
pulse-server: handle special device names in play/record
...
@DEFAULT_MONITOR@ finds the default sink but returns is_monitor true.
Always lookup the device based on the name and index. This transform
the special device names like @DEFAULT_XXX@ to the default device.
Always use the found device name as the target. Make sure to set the
CAPTURE_SINK property when dealing with a monitor.
Fixes #3284
2023-06-11 18:37:24 +02:00
Barnabás Pőcze
dfb3cb20af
pipewire: module-raop-sink: check asprintf return value
...
GCC warns because `asprintf()` has the `warn_unused_result`
attribute, so check the return value to silence the warning.
2023-06-10 02:22:08 +02:00
Wim Taymans
4bf526ddf4
module-netjack2: handle NULL socket
...
The socket might be NULL when it got destroyed due to an error.
2023-06-09 20:49:27 +02:00
Wim Taymans
4e070c90aa
module-profiler: ignore peer targets
...
Only log the targets of the node, ignoring the peers of the driver or
else we will log some nodes twice.
Fixes #3278
2023-06-09 17:06:48 +02:00
Wim Taymans
f0e8b95d76
module-netjack2: do some more checks
...
Check packet size and avoid overflows when receiving data.
2023-06-09 13:37:39 +02:00
Wim Taymans
d35e514549
module-netjack2: samples are transmitted in little endian
...
So swap them on big endian.
2023-06-09 12:26:39 +02:00
Wim Taymans
9dd5bab535
module-netjack2: add MIDI send and receive
2023-06-08 16:38:53 +02:00
Wim Taymans
c2860477c3
module-raop: add default 1 sec of latency
...
Make NTP timestamps based on CLOCK_REALTIME.
Handle socket errors.
Some devices want at least 1 second of latency between RTP and NTP
timestamps or they stay silent. A a raop.latency.ms property for this
purpose that defaults to 1 second.
It is said that all devices seem to add 250ms of extra playback delay,
so include that into the delay reporting.
Fixes #3247
2023-06-07 16:51:34 +02:00
Wim Taymans
9a93a60fbf
raop: log last error on connection failure
2023-06-07 16:45:56 +02:00
Wim Taymans
14fd7f7bf7
module-raop: fix deduplication
...
Also check duplicate entries in the resolve callback because we might
not have created a tunnel earlier.
2023-06-06 10:23:52 +02:00
Wim Taymans
04e17a8b1c
module-netjack2: handle driver reconnect
...
Let the driver keep announcing.
Keep track of when a message was received in the driver. If we don't
receive anything for a while, reconnect.
Don't connect twide in the manager.
2023-06-05 13:30:16 +02:00
Wim Taymans
8db98b114d
module-protocol-native: close fds from zombie clients
...
When a client is zombie, close the fds we got in the discarded message
or else we leak them.
See #1840
2023-06-05 13:28:04 +02:00
Wim Taymans
a70a89289b
module-netjack2: fix driver name
2023-06-05 10:36:30 +02:00
Wim Taymans
f2a0df9ac2
module-netjack2: lock and force rate and quantum
2023-06-05 10:36:08 +02:00
Wim Taymans
407ee3940c
module-netjack2: set latency param
2023-06-05 10:21:18 +02:00
Wim Taymans
7de7a620f3
module-ffado: fix latency configuration
...
Don't deref the port before we created it.
2023-06-05 10:21:18 +02:00
Wim Taymans
cc82715325
module-netjack2: refactor
...
Move common code to a separate file.
2023-06-05 10:20:43 +02:00
Wim Taymans
7bd74a67f4
module-netjack2: use frames from graph and sync
...
The params are the initial period_size, use the ones used to
encode the packets.
2023-06-02 15:43:34 +02:00
Wim Taymans
629e322fac
module-netjack2: clear empty buffers
2023-06-02 15:09:31 +02:00
Wim Taymans
287566937e
module-netjack2: improve node names
2023-06-02 13:31:38 +02:00
Wim Taymans
2988d9c831
module-netjack2: small improvements
...
Improve node properties
Improve module parameters and docs
Send send and recv buffer sizes.
Stop follower on connection errors.
2023-06-02 13:24:49 +02:00
Wim Taymans
2d253de359
module-profiler: add per client xrun count in profiler data
...
So that pw-top can show the client xruns instead of the driver xruns
2023-06-02 13:23:55 +02:00
Wim Taymans
9727bf3c4b
modules: fix some compiler warnings
2023-06-01 19:01:25 +02:00
Barnabás Pőcze
212c574821
pipewire: module-ffado-driver: don't have labels at the end
...
Labels are only allowed before statements before C23,
and clang does not support them as an extension in
gnu11 that pipewire uses, so add `break`s.
2023-06-01 16:56:59 +00:00
Wim Taymans
2cc0fe0b3c
module-netjack2: add netjack2 manager
...
This module listens for messages from netjack2 drivers and makes a sink
and source filter to send and receive data from the remote driver.
2023-06-01 18:36:07 +02:00
Wim Taymans
f8aa18c88b
module-netjack2: small improvements
2023-06-01 18:36:07 +02:00
Wim Taymans
991a1558dc
module: add a netjack2 driver module
...
The module advertizes itself on multicast and will trigger a new client
in the netjack2 manager. Tested with jack2 and 'jack_load netmanager'.
The driver will receive and send data (no midi yet) from and to the
manager in sync with the manager, without resampling and with a fixed
latency.
2023-05-31 17:22:05 +02:00
Wim Taymans
d9e29e70f3
module-ffado: fix compilation with -UFASTPATH
2023-05-30 15:57:07 +02:00
Wim Taymans
149bb3eee8
module-ffado: set playback buffers as well
2023-05-29 09:17:08 +02:00
Wim Taymans
a4f6c02a7d
modules-ffado: add properties
2023-05-28 19:17:41 +02:00
Wim Taymans
3c44634dd8
modules: add ffado driver module
2023-05-28 15:53:58 +02:00
Wim Taymans
a5b845650e
remote-node: only signal graph end when profiling
...
Add a flag to the activation to mark the node as being profiled.
Only wake up the eventfd in remote-node when the profiler is running.
This keeps the server sleeping when remote nodes are driving and the
profiler is not running.
2023-05-24 22:40:28 +02:00
Wim Taymans
004d3d900a
pulse-server: improve debug
2023-05-24 18:01:19 +02:00
Wim Taymans
894eeae03c
impl-node: add id and name to pw_node_target
...
Make a copy of the node name into a statically allocated array. This is
for debugging purposes only but might crash if we do a name change while
the data thread is reading it.
Make it possible to do reposition on the client side by copying the id
to the target. The client side does not have a node in the target so we
can't deref it.
2023-05-24 14:05:03 +02:00
Bennett Hardwick
4843928370
Fix jackdbus-detect module name in comment
2023-05-24 11:44:09 +00:00
Sebastian Jaeckel
dfeacaafdd
rtp-sap: use correct property key to get channel names
2023-05-24 08:32:42 +00:00
Sebastian Jaeckel
39d6e40abd
rtp-sap,AES67: reorder sdp records to be compatible with Dante/AES67 devices
...
A software called `Dante Controller` is needed to configure Dante
devices (which also support AES67). This software is picky about the
order in which SDP records are received and parsed.
Changing the order or adding new records in between leads to faulty
display of our stream within `Dante Controller` (missing channel display
etc.) and the user is then unable to connect any Dante device to the
AES67 stream.
2023-05-24 08:32:42 +00:00
Sebastian Jaeckel
31ffa09c16
rtp-sap: use the ptime from the stream in the announcement and omit the decimal ms if they are 0
2023-05-24 08:32:42 +00:00
Sebastian Jaeckel
d08439316b
rtp/stream: calculate and format the ptime property as float
2023-05-24 08:32:42 +00:00
Wim Taymans
b74f2e19a7
impl-node: remove duplicated fields
...
Move all of the info to trigger a node into the target so that
we can copy it around easily.
2023-05-23 16:46:30 +02:00