Wim Taymans
efd8ac25e3
pulse-server: don't emit _removed without havine emitted _added
...
Don't emit _removed for objects that are still being created because
we did not emit an _added signal for them yet.
2021-11-04 12:50:18 +01:00
Wim Taymans
f70fdf5605
pulse-server: also remove creating objects
...
When an object is created, it is marked creating until all roundtrips
complete. If the object is removed in between, we don't remove it
because find_object does not return creating objects.
Make find_object also return the creating objects to fix this.
2021-11-03 16:57:41 +01:00
Wim Taymans
73bf30efa6
module-zeroconf: translate audio format
...
The audio format in the avahi messages is in pulseaudio format so
translate it to PipeWire format in audio.format.
See #1745
2021-11-03 12:54:58 +01:00
Wim Taymans
3509962f3a
module-session-manager: don't leak the impl structure
...
We need to remove the listener for the object as well so that we
can safely free the impl memory.
2021-10-27 17:41:32 +02:00
Wim Taymans
b5080a0395
node: dispatch RequestProcess event and command
...
The event is send to the driver node.
The command is sent to node directly.
2021-10-27 11:16:53 +02:00
Wim Taymans
a2f06be199
pulse-server: Improve combine sink properties
...
Make streams and sink have the same description so that they show
up as the same node in catia.
2021-10-26 10:50:28 +02:00
Wim Taymans
33653cbabf
protocol-pulse: flush streams on pause
...
To remove any lingering data
2021-10-26 10:49:50 +02:00
Gleb Popov
65aea7c05a
Avoid compiler warning by #ifdef'ing a function used only on Linux.
2021-10-22 19:08:24 +03:00
Gleb Popov
a76ccfe64b
Set PW_KEY_SEC_LABEL property on FreeBSD and avoid compiler warning.
2021-10-22 19:07:45 +03:00
KangJing Huang (Chaserhkj)
22aad6eaff
Tuning some webrtc parameters
2021-10-19 18:59:07 +00:00
KangJing Huang (Chaserhkj)
2bfc03f43c
Allow echo-cancel to select larger buffer sizes
2021-10-19 18:59:07 +00:00
Wim Taymans
100c12460f
client-node: handle events, send them to the server part
2021-10-19 12:28:23 +02:00
Barnabás Pőcze
4c27c3fd43
pulse-server: use for-each loop
...
Use `SPA_FOR_EACH_ELEMENT` to enumate the elements
in the array instead of an "indexed" loop.
2021-10-18 15:36:22 +02:00
Barnabás Pőcze
3fefb55ef2
pulse-server: return NULL instead of 0
...
... to be consistent with the vast majority of the
existing source code.
2021-10-18 15:36:22 +02:00
Barnabás Pőcze
ee7b82ac9e
pulse-server: remove unnecessary NULL check
...
`spa_streq()` already checks for NULL pointers, so the
pointer does not need to be checked before calling it.
2021-10-18 15:36:22 +02:00
Barnabás Pőcze
80ae688cc6
pulse-server: compile extensions separately
...
Avoid including other C source files. Compile them separately.
2021-10-18 15:36:17 +02:00
Wim Taymans
bd8ec29bb5
link-factory: avoid using 0 for invalid id
...
Use SPA_ID_INVALID instead of 0 when we fail to parse the port id
so that we don't accidentally match an internal port id.
See #1724
2021-10-18 11:35:25 +02:00
Wim Taymans
8c346ab3a7
pulse-server: list NETWORK flag on devices
...
Mark network sinks and sources with node.network.
2021-10-14 13:45:58 +02:00
Wim Taymans
d6c1479ba0
module-zeroconf-discover: also parse the channel_map
...
So that we create the device with the same channel_map as the remote
end.
Fixes #1692
2021-10-14 13:28:43 +02:00
Wim Taymans
257bbb1fd5
echo-cancel: flush streams in PAUSED
...
so that we don't end up with old data when we resume.
Fixes #1660
2021-10-14 12:18:37 +02:00
Peter Hutterer
4ec2a6b320
modules: fix a property fetch
...
Leftover from an earlier version where get() was what is now called
fetch().
Fixes d8d7e90ceb21dac3723fa3c3fd3c2983afe1372
2021-10-14 06:32:20 +10:00
Wim Taymans
64d6ff4184
modules: flush and reset state in paused
...
So that we don't end up with previous data when we resume.
See #1660
2021-10-13 18:37:02 +02:00
Wim Taymans
6e818480c1
filter-chain: implement convoler_reset
...
To reset the state of the convolver.
2021-10-13 18:36:20 +02:00
Wim Taymans
058cecee7e
pulse-server: remove some pw_log_info debug
2021-10-13 15:44:38 +02:00
Wim Taymans
f1c29194a8
pulse-server: improve lookup of default source and sink
...
Make things work then there is no default input device and the default
source is actually the monitor of the default sink.
Also implement lookups of monitor sources with the monitor id as the
name.
Fixes #1691
2021-10-13 15:39:41 +02:00
Wim Taymans
1b09640b6f
pulse-server: use find_device for get_info of a device
...
So that we also go through the same logic for finding the default
source and sink when needed.
2021-10-13 15:38:59 +02:00
Peter Hutterer
32fb369b66
modules: switch more modules to the new property helpers
2021-10-13 07:12:00 +00:00
Peter Hutterer
56bc3508c4
module-rt{kit}: replace get_default_int with the new property helper
2021-10-13 07:12:00 +00:00
Peter Hutterer
1d8d7e90ce
modules: switch a few modules to the new property helpers
2021-10-13 07:12:00 +00:00
Peter Hutterer
d8de1cb255
modules: switch to new property helpers
2021-10-13 07:12:00 +00:00
Peter Hutterer
696a4b22e9
module-rt{kit}: use spa_atoi32 instead of custom strtol
...
And duplicate the function into rtkit which had a similar but different
approach to it. Let's get both to do the same here.
2021-10-13 07:12:00 +00:00
Wim Taymans
9afb832d22
pulse-server: find the sink when doing monitor source lookup
...
When we do a lookup of a source with the monitor flag bits set in the
id, strip off the monitor bits se we can find the associated sink.
Fixes #1677
2021-10-11 17:02:13 +02:00
Wim Taymans
38981a4c8c
filter-chain: biquad fequency is half the samplerate
...
See #1699
2021-10-11 16:07:13 +02:00
Wim Taymans
5f7c4dec34
meson: make it possible to compile without dbus
...
Make an option to disable dbus and all the code that depends on
it.
Fixes #1685
2021-10-09 15:00:04 +02:00
Björn Daase
492abccfe6
filter-chain: fix incorrect codespell fix
...
Fixes cf38b7bdc4
2021-10-07 21:31:01 +02:00
Björn Daase
cf38b7bdc4
fix codespell issues
2021-10-07 15:26:18 +00:00
Nicolai Syvertsen
dea1755b68
pulse-tunnel: follow pulseaudio for default format
2021-10-07 15:39:11 +02:00
Nicolai Syvertsen
28c2e8ca56
pulse-tunnel: use format, channels and rate props
2021-10-07 13:00:24 +02:00
Wim Taymans
a95937dfdb
log: remove NAME as log prefix, topic is enough
2021-10-03 12:03:45 +02:00
Wim Taymans
3dde9fef9c
client-node: send the right peer_id
...
Output ports share the same buffers on all mix outputs and the buffers
are stored in a special mix area with id SPA_ID_INVALID.
The special mix area does not have the peer_id of the link, we need to
get that from the non-shared mix area.
This fixes some invalid peer port-id values in the set_mix_info event.
2021-10-01 09:33:19 +02:00
Wim Taymans
5026645e93
pulse-server: add latency_msec parameter
2021-09-30 09:49:09 +02:00
Wim Taymans
696dbf7cd6
pulse-tunnel: pass latency as msec
2021-09-30 09:49:00 +02:00
Peter Hutterer
abd5f9fbe8
Remove remaining tabs from meson.build files
...
No changes, just tab-to-space replacement and a little bit of manual
twiddling.
2021-09-30 00:08:27 +00:00
Wim Taymans
d6469e5437
filter-chain: make it possible to suggest a samplerate
...
Make it possible to let a plugin suggest a samplerate for the filter.
Make the convolver suggest the samplerate of the IR file anf use that
if nothing else is specified in the config.
Fixes #1659
2021-09-29 16:53:18 +02:00
Wim Taymans
275dfed92a
filter-chain: handle unaligned sum_simd
...
Fall back to slow path if the input is not aligned, which can happen
after resampling.
Fixes #1659
2021-09-29 16:30:59 +02:00
Barnabás Pőcze
d2f0573369
pipewire: module-zeroconf-discover: handle module destroy events
...
module-zeroconf-discover loads module-pulse-tunnel for each entity
exposed on the network. Previously, however, the destroy event
of the loaded pulse-tunnel modules were not handled.
This resulted in a use-after-free because both `pw_context_destroy()`
and `module-zeroconf-discover.c:impl_free()` tried to destroy
the pulse-tunnel modules. The reason for that is that since
1de16afc40 the modules
are prepended to the module list of the context, not appended,
therefore modules are destroyed in LIFO order, thus the pulse-tunnel
modules were destroyed before the zeroconf-discover module that
loaded them.
Fix that by handling the destroy event of the loaded pulse-tunnel
modules.
Fixes #1653
2021-09-29 10:35:16 +02:00
Peter Hutterer
52a96bb602
modules: add log topics to module-protocol-pulse
...
This ends up using a nested namespace: mod.protocol-pulse for the module
itself, mod.protocol-pulse.foo for the various submodules and
extensions.
2021-09-28 09:35:39 +02:00
Peter Hutterer
96f8a7597e
modules: switch protocol-native to the new logging system
...
This is more complicated than a normal module because we have two
logging topics: mod.protocol-native and conn.protocol-native for wire
messages. Because the latter use spa_debug (through spa_debug_pod) we
need to #define our way around so those too use the right topics.
Note that this removes the previous "connection" category, it is now
"conn.protocol-native" instead.
2021-09-28 09:35:39 +02:00
Peter Hutterer
14112fd168
modules: use the new topic-based logging from various pipewire modules
2021-09-28 09:35:39 +02:00
Wim Taymans
cb474043fa
pulse-tunnel: add pulse.latency option
...
Add a pulse.latency option to override the default 100ms latency.
2021-09-23 13:11:52 +02:00