Barnabás Pőcze
e966b1d6f2
pulse-server: split out message-handler
...
Part of !776 .
2021-06-25 03:23:41 +02:00
Barnabás Pőcze
c9f5deb81d
pulse-server: split out module handling
...
Part of !776 .
2021-06-25 03:23:37 +02:00
Barnabás Pőcze
c49ae39888
pulse-server: split out extension handling
...
Part of !776 .
2021-06-25 03:23:35 +02:00
Barnabás Pőcze
d366487116
pulse-server: split out server creation and socket handling
...
Part of !776 .
2021-06-25 03:23:32 +02:00
Barnabás Pőcze
49d31ea0af
pulse-server: split out reply, operation, client, stream
...
Part of !776 .
2021-06-25 03:23:27 +02:00
Barnabás Pőcze
b2ec1fb60a
pulse-server: split out message handling
...
Part of !776 .
2021-06-25 03:23:24 +02:00
Barnabás Pőcze
5318c0eeca
pulse-server: split out media roles
...
Part of !776 .
2021-06-25 03:23:20 +02:00
Barnabás Pőcze
62832609c1
pulse-server: split out utils
...
Part of !776 .
2021-06-25 03:23:18 +02:00
Barnabás Pőcze
8a0f52ab78
pulse-server: split out pending-sample
...
Part of !776 .
2021-06-25 03:23:15 +02:00
Barnabás Pőcze
bee97b09e2
pulse-server: split out sample, sample-play
...
Part of !776 .
2021-06-25 03:23:12 +02:00
Barnabás Pőcze
bc4370e195
pulse-server: split out D-Bus parts
...
Part of !776 .
2021-06-25 03:23:09 +02:00
Barnabás Pőcze
acffe1b90b
pulse-server: split out "collect" functions
...
Part of !776 .
2021-06-25 03:23:04 +02:00
Barnabás Pőcze
4496c33751
pulse-server: split out volume handling
...
Part of !776 .
2021-06-25 03:23:01 +02:00
Barnabás Pőcze
43e2c64307
pulse-server: split out format handling
...
Part of !776 .
2021-06-25 03:22:59 +02:00
Sanchayan Maity
badb76147f
module-protocol-pulse: Add module-roc-source
2021-06-24 11:04:23 +00:00
Sanchayan Maity
e60498df51
module-protocol-pulse: Add module-roc-sink
2021-06-24 11:04:23 +00:00
Sanchayan Maity
96c77e1f2f
pulse-server: Implement module-pipe-source
2021-06-16 08:05:51 +00:00
Sanchayan Maity
cf93fd7f9a
module-protocol-pulse: Add Avahi zeroconf publish module
2021-06-12 17:56:49 +00:00
Peter Hutterer
da339c286f
meson.build: drop HAVE_CONFIG_H
...
This is an autotools leftover, with meson we're always guaranteed to have
the config.h file.
2021-06-10 09:04:16 +10:00
Peter Hutterer
0054319d88
meson.build: add -D_GNU_SOURCE to the project arguments
...
This appends it to every compilation command so we can get rid of the c_args
for (almost all) executables.
2021-06-09 07:47:51 +00:00
Arun Raghavan
08daf3f4f4
pulse-server: Add a module-echo-cancel
...
Fairly straightforwad module to load libpipewire-module-echo-cancel
2021-06-05 17:54:02 +00:00
Arun Raghavan
d2d0375c39
module-echo-cancel: Change extension .cc to .cpp for aec-webrtc
...
Makes this consistent with the rest of the code base.
2021-06-02 18:26:19 -04:00
Arun Raghavan
d95870d8d3
module-echo-cancel: Wire up the webrtc echo canceller
...
Mostly uses the existing infrastructure, but the webrtc canceller has a
fixed blocksize, so we:
1. Use the canceller blocksize if configured
2. Accumulate output data in a ringbuffer
3. Push out the data in the required chunk size
2021-06-02 17:56:40 -04:00
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
Arun Raghavan
25f9765e9c
pulse-server: Implement module-combine-sink
2021-05-24 08:34:23 +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
Wim Taymans
170294d7ac
pipewire-pulse: add zeroconf module
2021-05-14 11:39:44 +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
3ae2b9e189
pulse-server: implement module-tunnel-sink/source
...
See #865
2021-05-12 17:00:45 +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
Sanchayan Maity
d8f98df6ed
pulse-server: Implement module-pipe-sink
2021-05-11 13:31:41 +05:30
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
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
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
356c7ade1c
modules: add begining of ladspa filter
...
Can be used to build chains or sink/source.
2021-05-10 11:01:12 +02:00
Wim Taymans
3496327e69
Add echo-cancel module
...
Only implement the null echo cancel implementation for now.
And skeleton webrtc echo cancel implementation
It uses 4 streams arranged as:
input ---+---> source
^
|
sink ---+---> output
The output of the source is the filtered input of the input stream
(linked a master source) based on the data going from sink to
the output (linked to a master sink).
All streams are arranged in the same group so that the echo canceler
does not have to deal with clock drift. For echo cancelers that can
handle clock drift we might want place the source and sink chains
in different groups.
2021-04-27 09:56:54 +02:00
Wim Taymans
27d98478ab
modules: set right library variable
2021-04-26 10:45:44 +02:00
Wim Taymans
ab7bc6ed27
pulse-server: add remap sink and source modules
2021-04-22 20:44:55 +02:00
Wim Taymans
3b021cc4ed
modules: add module-loopback
...
Add a new loopback module that can also create virtual-sink and
virtual-source.
2021-04-22 13:08:20 +02:00
Arun Raghavan
74140abada
pulse-server: Factor out module code to compile independently
...
This starts breaking up the giant monolith that is the pulse-server.c
code into more manageable chunks by trying to split the module code into
individual compilation units.
2021-04-15 19:37:15 -04:00
Peter Hutterer
223f20709d
meson: replace join_paths(a, b) with a / b
...
More readable and from the meson reference manual:
(since 0.49.0) Using the/ operator on strings is equivalent to calling join_paths.
2021-04-15 06:57:00 +00:00
Wim Taymans
2a99e7afa8
Add simple protocol
...
The simple protocol listens on a socket, creates a new pw_client for
each connected client and reads/writes raw audio bytes on the
socket. Incomming bytes are copied to a playback stream, outgoing
bytes are copied from a capture pw_stream.
Fixes #954
2021-04-12 13:24:49 +02:00
Thibault Saunier
485bae5eb0
meson: Use feature options everywhere it makes sense
2021-03-10 20:18:34 +00:00
Wim Taymans
a243d126db
Fix tests, use the right config dir
2021-02-12 10:33:02 +01:00
Wim Taymans
12d831fc39
pulse-server: request dbus name
...
Request the org.pulseaudio.Server dbus name. This makes gnome-shell
reconnect automatically.
2020-11-20 11:52:57 +01:00
Wim Taymans
593c183166
pulse-server: improve stale socket detection
...
Only declare stale when ECONNREFUSED and not socket activated.
2020-11-12 13:02:18 +01:00
Wim Taymans
1cbad89862
pulse-server: add introspection of clients and modules
...
Add manager object to collect object info
Wait for object info until completing client connect
Implement clients and modules list and info.
2020-10-25 15:28:42 +01:00
Wim Taymans
f0102fd490
pulse: move pulse protocol to module
2020-10-08 18:06:11 +02:00
Wim Taymans
5731447357
add portal module again
...
This access module now only checks if the connection is comming
from the portal and tags the ACCESS property with portal in that
case. It will no longer do permission store checks, that's for
the session manager.
2020-07-17 14:12:10 +02:00
Wim Taymans
33d7b6ea43
Remove old portal module from build
2020-07-16 17:56:21 +02:00