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
Wim Taymans
b97327e1f6
module: handle type register errors
...
Registering an export type can give an error when the type is already
registered. Handle those errors and refuse to load the module.
See #2281
2022-04-11 21:15:13 +02:00
Barnabás Pőcze
37fa911a72
pulse-server: module: rework registry
...
Move all module methods into the `module_info` struct, and place
all such structs into the "pw_mod_pulse_modules" section of
the executable. This way there is no need for an explicit
module registry, and all information about a module can
be declared in the module's source file in a single place.
2022-04-11 03:02:08 +02:00
Wim Taymans
cc39644253
modules: add pid to unique name
...
So that modules loaded from different processes don't generate the
same node names.
2022-04-01 15:22:48 +02:00
Wim Taymans
f9e8e689d3
filter-chain: free descriptor
...
Fixes #2220
2022-04-01 10:10:22 +02:00
Wim Taymans
c6a8f8d3ef
global: use SPA_ID_INVALID to send serial id
...
We use the done event to send the object serial to the client. Use an
invalid object id for this and filter it out on the receiver or else
the client might get an unexpected done event.
Fixes #2253
2022-03-31 09:39:49 +02:00
Carlos Rafael Giani
e8f93c3e1e
meson: Add option to enable/disable legacy RTKit module
...
The RTKit module is being replaced by the RT module. Currently, it is
always built if D-Bus is present. For packagers, it can be beneficial to
be able to disable the legacy module. Add a Meson option to allow for
exactly that. Make it enabled by default to not change default behavior.
2022-03-31 07:07:40 +00:00