Commit graph

2725 commits

Author SHA1 Message Date
Wim Taymans
383df85466 modules: handle factory destroy
Listen for factory destroy and clean up the module.

See #565
2022-05-06 12:11:20 +02:00
Wim Taymans
95f8c569a0 module-metadata: handle factory destroy
Destroy the module when the factory is destroyed.
2022-05-06 11:33:00 +02:00
Wim Taymans
8374c93e40 module-adapter: handle factory destroy
When the factory is destroyed, clean up and destroy the module as well.
2022-05-06 11:29:21 +02:00
Hagen
cb81e49f7d Remove unnecessary } in src/modules/module-raop-discover.c docs 2022-05-06 09:03:04 +00:00
Wim Taymans
73694f72ee filter-chain: improve error reporting 2022-05-05 15:24:51 +02:00
Wim Taymans
6458df3678 filter-chain: fix some typos 2022-05-05 09:05:32 +02:00
Wim Taymans
0cab700c06 profiler: place rate suggestion in latency if given 2022-04-28 17:09:52 +02:00
Wim Taymans
dfbb106aa8 pulse-server: use Rate control to change stream rate
Fixes #1159
2022-04-27 15:24:10 +02:00
Wim Taymans
ba7d410c3c handle realloc error better
Make sure we free the old pointer, clear it and set the array size to 0.
Use reallocarray where possible.
2022-04-27 10:09:06 +02:00
Wim Taymans
0306855b5b module-roc: update docs 2022-04-25 20:26:07 +02:00
Wim Taymans
4bcc93b68e module-loopback: fix spelling
Thanks to Diego Viola and !1220
2022-04-25 17:03:45 +02:00
Wim Taymans
09ea37cfdf roc: add fec_code option
Add fec_code option.
Fix resample.profile parsing.
2022-04-25 16:20:55 +02:00
Wim Taymans
1e244b4ebd module-roc: try to switch rates
Try to switch the graph to 44100Hz.
2022-04-25 15:34:05 +02:00
Wim Taymans
4885baabb1 protocol-pulse: add roc-sink-input
Add a sink-input roc source, like the pulseaudio one.

Fixes #2331
2022-04-25 15:18:47 +02:00
Wim Taymans
ef2f8f981d roc-source: make the source a stream by default
So that it autoconnects to a sink.
Use requested buffer size as read size.
2022-04-25 15:16:54 +02:00
Wim Taymans
037304ce70 module-roc-source: don't set defaults
Don't set defaults, the real roc-source will handle that. Especially,
don't set the remote port as the latency.

See #2331
2022-04-25 15:14:50 +02:00
Wim Taymans
1e46d114d0 modules: update docs 2022-04-24 11:29:46 +02:00
Wim Taymans
e78b886785 module: update docs 2022-04-24 11:21:04 +02:00
Wim Taymans
d9fd4dc76a module-rt: fix formating and comment 2022-04-24 10:18:47 +02:00
Wim Taymans
b95c145446 module-rt: fix compilation 2022-04-24 10:14:56 +02:00
Thomas Bernard
5cad844b49 Replace sched_ calls with pthread_ to set realtime priorities 2022-04-24 08:14:01 +00:00
Wim Taymans
49486bceeb filter-chain: add a simple delay
See #2320
2022-04-22 21:40:01 +02:00
Wim Taymans
2dfc41766f filter-chain: fix config parse
We need to advance to the next item.
2022-04-22 21:33:49 +02:00
Wim Taymans
368dd51d04 modules: update docs 2022-04-22 17:29:40 +02:00
Wim Taymans
553bb3f5ed modules: update docs 2022-04-22 17:08:45 +02:00
Wim Taymans
8807aa1dcd module: add docs 2022-04-22 16:51:27 +02:00
Wim Taymans
de4b021b34 modules: add docs 2022-04-22 16:44:15 +02:00
Wim Taymans
89010410eb modules: add more docs 2022-04-22 16:08:26 +02:00
Wim Taymans
e3b17581f2 modules: more docs 2022-04-22 15:18:24 +02:00
Wim Taymans
faf674a327 pulse-server: use config.ext for streams
Use the module config.ext to load extra stream properties and rules.
2022-04-22 14:54:27 +02:00
Wim Taymans
fcc6f7fc7c module-filter-chain: some more docs 2022-04-22 11:33:04 +02:00
Wim Taymans
932bbe4de6 module-filter-chain: add support for double params 2022-04-22 11:04:09 +02:00
Wim Taymans
ad178b8b5c module-filter-chain: add docs 2022-04-22 11:03:51 +02:00
Wim Taymans
10af59bdc2 modules: update docs 2022-04-21 20:22:45 +02:00
Wim Taymans
75f4fca1d7 module-loopback: add docs 2022-04-21 20:12:26 +02:00
Wim Taymans
d1207422e0 make NODE_WANT_DRIVER=true the default
So that all nodes attach to some driver to be scheduled.

For the virtual sink/sources this is a normal thing and we can remove
the custom settings.

For normal stream, this now makes it possible to link pw-play directly
to pw-record and have it transport data.

Fixes #1761
2022-04-21 10:14:53 +02:00
Wim Taymans
fed6f6d834 filter-chain: increase max gain for biquads 2022-04-21 09:38:35 +02:00
Wim Taymans
01a7d6709b modules: don't unload on stream errors
It's possible that the stream is sent an error when the session manager
can't link the node (because, for example, the sink/source is not
available yet). We should not stop but just log this error.

When the session manager actively kills the stream (when it is
reconnected while the DONT_RECONNECT flag is true) we will end up in the
UNCONNECTED state and that's when we can unload the module.
2022-04-21 09:02:02 +02:00
Wim Taymans
f205a09ade module: handle error and unconnected states
Unload the module on error/unconnected
2022-04-20 19:33:18 +02:00
Wim Taymans
26471ff2da module-loopback: unload the module on stream unconnect
When one of the streams is unconnected, unload the module. This is
what happens when the node was set as dont_reconnect with a node
target.

Fixes #1754
2022-04-20 19:25:42 +02:00
Wim Taymans
cc7aadde8a connection: debug when we close fd
Also handle DUP failure.
2022-04-20 12:13:41 +02:00
Wim Taymans
26db2f1ec9 module-pulse-tunnel: clear ringbuffer on cork 2022-04-19 10:51:45 +02:00
Wim Taymans
4cc0082634 module-pulse-tunnel: move some info log to debug 2022-04-19 09:58:18 +02:00
Wim Taymans
cdbdcd6771 module-pulse-tunnel: improve error recovery
Track the end-to-end latency of the stream and use that to drive
the resampler.
Hard reset the ringbuffer when under/overflow happens so that we
can recover quickly.

See #2230
2022-04-19 09:41:28 +02:00
Wim Taymans
c73c852413 pulse-tunnel: improve debug 2022-04-18 16:48:10 +02:00
Wim Taymans
0b96b87331 thread: implement some properties
Make helper method to parse thread properties and add 2 new properties
to control name and stack-size of the thread.
Use properties when creating threads with the default utils.
Use the default thread utils instead of pthread_create so that the
properties are used.
2022-04-18 13:02:27 +02:00
Quentin Wenger
d2250e9d1c Cleanup argument names in methods and events interfaces: object/data, 2nd pass. 2022-04-18 07:49:35 +00:00
Barnabás Pőcze
e28a052105 treewide: retain sections to prevent linker garbage collection
The linker may remove sections that are actually used when
"--gc-sections" and "-z start-stop-gc" is set. Add the `retain`
attribute to prevent that.

Furthermore, fix the alignment for `pwtest_suite_decl` objects.

See: #2292
See: https://lld.llvm.org/ELF/start-stop-gc.html
See: https://github.com/systemd/systemd/issues/21847
See: https://github.com/systemd/systemd/pull/21855
2022-04-15 23:58:05 +02:00
Quentin Wenger
22fc9eec35 Cleanup argument names in methods and events interfaces
First method argument is object, first event argument is data.

Closes !963
2022-04-15 10:11:49 +02:00
Wim Taymans
78b1c4c2e8 module-echo-cancel: put audio.position on properties
So that a default channel layout is set and the volume can be set before
the streams are negotiated.
2022-04-13 11:15:10 +02:00