Wim Taymans
8e36353311
pulse-server: module-combine-sink remove right property
2021-05-24 12:58:10 +02:00
Arun Raghavan
25f9765e9c
pulse-server: Implement module-combine-sink
2021-05-24 08:34:23 +00:00
Barnabás Pőcze
22d874cdeb
filter-chain: handle LADSPA_PATH as colon separated list of paths
...
Split up LADSPA_PATH at colons, and try to load the particular
plugin from each directory specified in LADSPA_PATH.
Fixes #1217 .
2021-05-24 08:23:21 +00:00
Barnabás Pőcze
67e588f382
filter-chain: actually use ladspa_handle_list
...
Add successfully loaded handles to the list in `ladspa_handle_load()`,
and remove them when they are freed in `ladspa_handle_unref()`.
2021-05-24 08:23:21 +00:00
Barnabás Pőcze
a8a6def20f
filter-chain: fix reference counting issue
...
Fix a reference counting issue that resulted in
ladspa_handle's refcount being equal to the
sum of the refcounts of its descriptors.
This would result in a memory leak when a descriptor
is loaded more than once from the same handle.
This cannot happen because `ladspa_handle_list` is
not populated by `ladspa_handle_load()`.
The next commit implements exactly that, so
the fix is applied before the change that
would introduce the problem.
2021-05-24 08:23:21 +00:00
Wim Taymans
6df32666b4
filter-chain: check external ports only once
...
When we duplicate the pipeline to match the channels, only check
if a port was used only once for the first instance. Makes
demonic filter work again.
2021-05-20 11:24:34 +02:00
Peter Hutterer
71c6a175c4
Drop double semicolons
2021-05-20 07:24:22 +00:00
Jonas Holmberg
b1610d37fe
modules: Add module-rt
...
Add a module to set thread priorities without using rtkit.
2021-05-19 17:39:17 +02:00
Peter Hutterer
4e70799922
treewide: drop strzcmp implementations in favor of spa_streq
2021-05-18 22:10:27 +10:00
Peter Hutterer
522f87d5ea
treewide: replace strcmp() != 0 with !spa_streq
...
This change is only done in source files for now, header files will be done
separately.
2021-05-18 22:10:27 +10:00
Peter Hutterer
95a84e797a
treewide: replace !strcmp() with spa_streq()
...
This change is only done in source files for now, header files will be done
separately.
2021-05-18 22:10:27 +10:00
Peter Hutterer
7697ed0757
treewide: replace strcmp() == 0 with spa_streq()
...
This change is only done in source files for now, header files will be done
separately.
2021-05-18 22:10:27 +10:00
Wim Taymans
d9240bb766
adapter: name monitor ports of applications as "monitor"
...
See !668
2021-05-17 15:37:31 +02:00
Wim Taymans
78aae9cfdc
Revert "adapter: set prefix for all monitor ports to "monitor""
...
This reverts commit 38a40949ec .
This is not quite right, virtual devices now have monitor ports
instead of capture ports.
2021-05-17 15:32:33 +02:00
Dark
38a40949ec
adapter: set prefix for all monitor ports to "monitor"
2021-05-15 02:25:25 -04:00
Wim Taymans
170294d7ac
pipewire-pulse: add zeroconf module
2021-05-14 11:39:44 +02:00
Wim Taymans
5c152bab23
zeroconf: improve stream properties
2021-05-14 11:19:02 +02:00
Wim Taymans
a428228ebf
pulse-tunnel: handle holes in record stream
...
Holes in the stream return a NULL ptr. Write silence to the
ringbuffer in that case.
2021-05-14 09:51:51 +02:00
Wim Taymans
9b48c6f3ea
filter-chain: make sure res is always set
2021-05-14 09:48:13 +02:00
Wim Taymans
0ff1d1e4cb
zeroconf-discover: use pw_properties_serialize_dict
2021-05-14 09:09:48 +02:00
Wim Taymans
6744934734
zeroconf: add avahi zerconf discover module
...
Discovers remote sinks and sources and load the tunnel module to
make a local sink and source for them.
2021-05-14 09:09:48 +02:00
Wim Taymans
59842b3bd6
make and use pw_properties_serialize_dict()
...
Remove the multiple other variants and make a better one. Flags are for
future options for escaping and formatting.
2021-05-14 09:08:46 +02:00
Wim Taymans
09cba1e4de
module-pulse-tunnel: use SPA_UNLIKELY instead of PA_UNLIKELY
2021-05-13 14:53:39 +02:00
Wim Taymans
a6c0e35b13
filter-chain: reset graph in suspend
...
To make sure we don't end up with samples from before the suspend.
2021-05-12 20:48:00 +02:00
Wim Taymans
e94a977dcd
filter-chain: Support null inputs/outputs
...
Handle null inputs by ignoring the port
Handle null output by clearing the buffer.
Make sure we only have one input and output linked.
2021-05-12 20:17:15 +02:00
Wim Taymans
2017de6da8
filter-chain: add copy function
2021-05-12 20:16:53 +02:00
Wim Taymans
fb6db4a1f9
pulse-server: clean up default format a little
2021-05-12 18:06:48 +02:00
Wim Taymans
ab9023f752
pulse-server: improve module argument parsing
...
ticks also delimit strings.
Unescape values.
Fixes #1173
2021-05-12 17:44:57 +02:00
Wim Taymans
3ae2b9e189
pulse-server: implement module-tunnel-sink/source
...
See #865
2021-05-12 17:00:45 +02:00
Wim Taymans
938e193987
pulse-tunnel: support node.target
...
Pass the node.target as the target on the remote.
Make a nicer stream name on the remote.
2021-05-12 16:49:19 +02:00
Wim Taymans
44f326013b
module-pulse-tunner: add module to tunnel to PulseAudio
...
Add a module that can make a source or sink that tunnels audio
to or from a (remote) PulseAudio server.
2021-05-12 15:56:59 +02:00
Evgeniy Khramtsov
685ff1dc25
utils: provide strdupa() if not in libc
...
FreeBSD does not have strdupa(), provide it locally then.
Macro by: Gleb Popov <arrowd@FreeBSD.org>
2021-05-11 21:06:28 +03:00
Sanchayan Maity
d8f98df6ed
pulse-server: Implement module-pipe-sink
2021-05-11 13:31:41 +05:30
Wim Taymans
c50c8d2be9
modules: fix some leaks in error paths
...
As found by coverity
2021-05-11 09:55:14 +02:00
Wim Taymans
bfbd6d74ef
filter-chain: add biquads to filter-chain
...
Add some biquad filters to the builtin filters.
Add an example 6 band equalizer sink filter chain.
2021-05-10 18:11:20 +02:00
Wim Taymans
1bfde16a89
filter-chain: update properties on the right stream
...
The filter properties are on the input stream.
2021-05-10 11:29:43 +02:00
Wim Taymans
64f694c02f
filter-chain: add ladspa header
2021-05-10 11:05:06 +02:00
Wim Taymans
d69673816f
filter-chain: use more convenient param Props field
...
Is more convenient for custom properties without an id.
2021-05-10 11:01:13 +02:00
Wim Taymans
2414d3501c
pulse-server: add ladspa sink and source
...
To make an rnnoise filtered source:
pactl load-module module-ladspa-source source_name=rnnoise_mic label=noise_suppressor_mono plugin=/usr/lib64/ladspa/ladspa/librnnoise_ladspa.so
To make an equalizer sink:
pactl load-module module-ladspa-sink sink_name=eq_out label=mbeq plugin=/usr/lib64/ladspa/mbeq_1197.so
2021-05-10 11:01:13 +02:00
Wim Taymans
b2053b9d49
filter-chain: support absolute plugin path
2021-05-10 11:01:13 +02:00
Wim Taymans
00e85a252c
filter-chain: add builtin plugins
...
Add a simple mixer builtin plugin.
Free memory on module unload.
2021-05-10 11:01:13 +02:00
Wim Taymans
3c7222d84b
filter-chain: fix setting control values
...
Add support for getting the control ports from a node. Use this to
configure the control port values.
2021-05-10 11:01:13 +02:00
Wim Taymans
aec4358d72
filter-chain: copy media name
2021-05-10 11:01:13 +02:00
Wim Taymans
a595f88cf1
filter-chain: add example
...
run with pipewire -c filter-chain/demonic.conf
2021-05-10 11:01:13 +02:00
Wim Taymans
f9a29c5424
filter-chain: use node name and port name for control
...
Address controls with node_name:port_name to access all properties
in the graph.
2021-05-10 11:01:13 +02:00
Wim Taymans
4d1fa14774
filter-chain: use the right index for notify ports
2021-05-10 11:01:13 +02:00
Wim Taymans
417a5779e7
filter-chain: use a port structure to hold port info
2021-05-10 11:01:13 +02:00
Wim Taymans
ca9225b5aa
filter-chain: use the right description when linking
2021-05-10 11:01:13 +02:00
Wim Taymans
641e685d5b
filter-chain: add more debug
2021-05-10 11:01:13 +02:00
Wim Taymans
8ec0f1eb4b
filter-chain: parse and handle links
2021-05-10 11:01:13 +02:00