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
Wim Taymans
4d680a816f
filter-chain: use dependencies to build scheduling plan
2021-05-10 11:01:13 +02:00
Wim Taymans
2714ba47ac
filter-chain: control is just an object
2021-05-10 11:01:13 +02:00
Wim Taymans
1088f875d4
filter-chain: add some more debug
2021-05-10 11:01:13 +02:00
Wim Taymans
5df221cf9a
filter-chain: implement inputs and outputs
...
When inputs/outputs are specified, find the node:port and link them.
Fall back to the first/last node for input/output if no node is given.
Fall back to all input/output ports when no ports are given.
2021-05-10 11:01:12 +02:00
Wim Taymans
aa0fdaf454
module-filter-chain: rename
...
This does not have to be ladspa specific so rename it.
2021-05-10 11:01:12 +02:00
Wim Taymans
eaeb9e9b5d
module-ladspa-filter: expose controls
2021-05-10 11:01:12 +02:00
Wim Taymans
3f5ebdedca
module-ladspa-filter: change to graph syntax
...
Expand the syntax to allow a graph of nodes and links later.
2021-05-10 11:01:12 +02:00
Wim Taymans
22373de5b4
module-ladspa-filter: use custom keys and propinfo
...
Use custom keys and propinfo to map the name to the key. This allows
us to specify ranges and other context for the properties.
2021-05-10 11:01:12 +02:00
Wim Taymans
97002a4451
module-ladspa-filter: update props when they change
2021-05-10 11:01:12 +02:00
Wim Taymans
69d36675d1
modules: ladspa-filter improvements
...
Parse initial control values
Reset to default when value is null
Implement port selection by name.
2021-05-10 11:01:12 +02:00