Evgeniy Khramtsov
3cf4bf7cf7
modules: build module-rt only on Linux
...
RLIMIT_RTTIME is Linux specific, there is no equivalent replacement
for FreeBSD. Save trouble and build module-rt for Linux only, rtkit
WIP fork should be fine on FreeBSD for now.
2021-05-30 15:30:45 +03:00
Wim Taymans
a138152bef
pulse-server: free message when resize fails
...
Based on patch by Peter Hutterer
Fixes !701
2021-05-28 11:52:29 +02:00
Wim Taymans
913434167d
modules: remove some useless device names
2021-05-28 11:20:06 +02:00
Wim Taymans
b9efb25605
pulse-tunnel: handle latency a little better
...
Set a limit on the buffer size.
Announce our latency on the streams.
2021-05-28 11:19:05 +02:00
Barnabás Pőcze
48f03f85a7
pulse-server: add support for IPv6
...
Add support for listening on IPv6 addresses.
The following address formats are supported:
* tcp:[<ipv6-addr>]:<port>,
* tcp:<ipv4-addr>:<port>,
* tcp:<port>, and
* unix:<path>.
The IP addresses are parsed using `inet_pton()`,
only the formats supported by that function
are accepted.
The IPv6 address must be surrounded by square brackets,
they do not mean "optional" here. Specifying only the
port is equivalent to the following two addresses:
* [::]:<port>, and
* 0.0.0.0:<port>.
Address parsing has been made stricter: the port
must always be specified explicitly.
Fixes #1216 .
2021-05-27 21:12:14 +02:00
Barnabás Pőcze
279470bc07
pulse-server: native-protocol-tcp: do not hardcode port
...
Use `PW_PROTOCOL_PULSE_DEFAULT_PORT` from pulse-server.h
instead of hard-coding the default port.
2021-05-27 19:32:02 +02:00
Wim Taymans
06cf1e1c00
module: proxy latency params
2021-05-27 16:07:25 +02:00
Wim Taymans
bae0622311
filter-chain: pass latency param along
...
Intercept the latency param and pass it on the right stream.
2021-05-27 15:26:09 +02:00
James Henstridge
733ad43d3f
module-portal: direct GetConnectionUnixProcessID call to /org/freedesktop/DBus
...
The D-Bus specification says that the message bus accepts method calls
on other object paths for backwards compatibility, and may reject
security sensitive calls on unexpected object paths:
https://dbus.freedesktop.org/doc/dbus-specification.html#message-bus-messages
2021-05-27 11:24:04 +00:00
Wim Taymans
492caf4456
pulse-server: handle errors during create
...
If a stream is being created and an error occurs we always need to
reply with the pending create_tag.
Fixes #624
2021-05-26 10:44:59 +02:00
Wim Taymans
4e4294dc13
pulse-server: handle NULL dbus connection
...
Fixes #1224
2021-05-26 10:23:17 +02:00
Peter Hutterer
049eaac821
modules: fix scan-build errors for unused variables
...
All cases of value stored but never read
2021-05-26 07:51:27 +00:00
Peter Hutterer
2cb7b19b7d
pulse-server: fix scan-build errors for unused variables
...
All cases of value stored but never read
2021-05-26 07:51:27 +00:00
Peter Hutterer
6d19dd0162
pulse-server: if all transport methods failed, fail server creation
...
No point in keeping a server running if it doesn't listen to anything.
2021-05-26 07:46:55 +00:00
Barnabás Pőcze
1e9442e6b8
pulse-server: fix memory issue
...
Previously, when `pw_protocol_pulse_new()` returned NULL,
the code would jump to the `error` label, which would
call `impl_free()`. At this point, however, `impl->module_listener`
is not initialized, which would lead to a SIGSEGV when
`spa_hook_remove()` is called from `impl_free()`.
2021-05-25 14:55:00 +02:00
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