Commit graph

59 commits

Author SHA1 Message Date
Craig Howard
17eb178f17 module-tunnel: restart module
Defer the creation of the source/sink until after the TCP connection has
been established.  Upon protocol errors, try restarting the module.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/688>
2022-05-16 18:26:16 +00:00
Craig Howard
f81bb09772 tunnel-source-new: add restart/reconnect logic
Applies the same changes as to tunnel-sink-new: defer the source
creation until after the TCP connection is restablished, then attempt to
restart the module on failure.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/688>
2022-05-16 18:26:16 +00:00
Craig Howard
a48bee4f06 tunnel-sink-new: reinit module
When configured, reinitialize the module instead of exiting.  This
allows a restart/reconnect, but the module to appear to always be alive
when the user does: "pactl list modules".  (The sink will still not
exist until the tcp connection is established.)

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/688>
2022-05-16 18:26:16 +00:00
Igor V. Kovalenko
56a9743fcb build-sys: meson: Make glib and fftw common dependencies
GSettings module (daemon) requires both gio and glib, move glib to common block.
qpaeq requires fftw, move fftw to common block.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/659>
2021-11-17 16:06:23 +00:00
Igor V. Kovalenko
60fb0c30c7 ladspa-sink: fix compiled in default LADSPA_PATH string
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/636>
2021-09-22 15:25:52 +00:00
Igor V. Kovalenko
c817dfb5a4 build-sys: meson: Require bluez dependency if bluez5 feature is enabled
Build breaks if bluez5 and bluez5-native-headset are both enabled
but bluez headers are not available.

Fix this by changing `bluez5` to Meson feature requiring `bluez` dependency.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/583>
2021-06-21 10:50:08 +00:00
Igor V. Kovalenko
58052e0e04 build-sys: meson: require GIO dependency for RTP-GStreamer
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/584>
2021-06-21 03:25:32 +03:00
Jan Alexander Steffens (heftig)
2a07c83cfc build-sys: meson: Add missing include dir
Otherwise building module-echo-cancel fails here:

    FAILED: src/modules/module-echo-cancel.so.p/echo-cancel_adrian-aec.c.o
    cc -Isrc/modules/module-echo-cancel.so.p -I. -I../pulseaudio -Isrc -I../pulseaudio/src -I/usr/include/orc-0.4 -flto=auto -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu11 -march=x86-64 -mtune=generic -O2 -p>
    ../pulseaudio/src/modules/echo-cancel/adrian-aec.c:30:10: fatal error: adrian-aec-orc-gen.h: No such file or directory
       30 | #include "adrian-aec-orc-gen.h"
          |          ^~~~~~~~~~~~~~~~~~~~~~

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/552>
2021-05-12 21:10:54 +02:00
Igor V. Kovalenko
de8b7c0d8f build-sys: meson: support elogind alternative for module-systemd-login
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/502>
2021-02-12 20:34:11 +03:00
Igor V. Kovalenko
f7f9c70b0f build-sys: drop gconf support
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/499>
2021-02-12 17:05:07 +00:00
Greg V
72792db74c module-devd-detect: new module for soundcard hotplug on FreeBSD
Used in addition to module-detect, since devd only provides hotplug events.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/277>
2021-01-18 16:33:53 +00:00
Edward Lee
b892e327a9 win32: Fix meson build system for Windows.
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/360>
2020-12-16 11:05:28 -05:00
Igor V. Kovalenko
d285b00a16 build-sys: meson: change oss-output boolean to Meson feature
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/437>
2020-12-14 19:48:06 +00:00
Igor V. Kovalenko
ecd597995a build-sys: meson: add oss-output option for OSS output support
Restore an option to disable OSS output available with autotools.
2020-11-28 00:34:49 +03:00
Christopher Snowhill
00bd8e1ef8 virtual-surround-sink: Use FFTW3 instead of naive approach
This replaces the original virtual surround sink with a total
rewrite, aiming to implement any number of hrir use cases,
including asymmetrical impulses as two separate left and right
output files. It uses FFTW3 FFT convolution, using the overlap-
save method, with full rewind support. It operates in steps
equal to the resampled length of the hrir, and overlaps input
blocks in increments equal to the size of the FFT block. If
using paired hrirs, it requires matched sample spec and sample
rates and channel maps. For best results, the input files should
have speaker maps, rather than expecting the sample loader to
auto detect the mapping.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/240>
2020-11-24 03:56:02 +00:00
Rasmus Thomsen
bff163089c meson: link libintl if it's not provided by libc
This fixes the build on musl with external gettext
2019-09-25 04:42:03 +00:00
Jan Alexander Steffens (heftig)
7e039c4ff7 meson: Define TUNNEL_SINK for module-tunnel-sink
This was missing, so it was building another tunnel-source instead.

Fixes https://bugs.archlinux.org/task/63755
2019-09-20 12:18:11 +00:00
Arun Raghavan
0f1920f337 build-sys: meson: Add mkfifo checks for module-pipe-* 2019-08-15 18:57:13 +05:30
Lucas Stach
1911ef16e2 meson: allow to build bluez support without libbluetooth
pulseaudio does not link against libbluetooth, as it's only talking to the
bluez daemon over dbus. So the build dependency on libbluetooth is overly
restrictive, as some embedded systems choose to ship without libbluetooth
but still have bluez daemon support.

This syncs the meson to the autotools configuration behavior by changing
the bluez option to a default on boolean.
2019-08-14 10:16:34 +02:00
Jan Alexander Steffens (heftig)
728a4402eb
build-sys: meson: Fix 2 cases of joining paths w/o join_paths
Fixes https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/712
2019-08-13 22:10:44 +02:00
Arun Raghavan
7f44a623e0 build-sys: meson: Correctly set up RPATH
This was being done automatically by autotools, now we need to manually
specify this for each executable/library with a dependency in a
non-standard directory.
2019-08-05 09:52:32 +05:30
Arun Raghavan
f996ad0688 build-sys: meson: Add -Wl,no-delete to relevant libraries
This mirrors the autotools option for all server-side dynamic libraries.
2019-08-05 09:52:32 +05:30
Arnaud Rebillout
aa5502926f meson: Add ORC support
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 12:03:03 +02:00
Arnaud Rebillout
06e37b3057 meson: Disable esound modules
For now esound is not supported with the meson build, although it
wouldn't be that hard to support it.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 12:03:03 +02:00
Arnaud Rebillout
8a15af4ffc meson: Move oss-util in a library
Like it was with the aututools

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:57:00 +02:00
Arnaud Rebillout
fdf3384f24 meson: Add systemduserunitdir option
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:57:00 +02:00
Arun Raghavan
37dbeae031 build-sys: Fix up meson install paths
Brings things in line with the autotools build, and adds ALSA mixer
paths and profile-sets into the meson build system as well.

The module installation path is also now customisable.
2019-06-06 18:49:59 +02:00
Tanu Kaskinen
2f6a46ca1a build-sys: Fix the Meson build
The recent bluetooth patches didn't update the Meson build system.
2019-04-12 16:05:51 +03:00
Arnaud Rebillout
35bd2e70f9 meson: Add optional GSettings support
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
b28c4e9aea meson: Make Adrian echo canceller optional
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
4b17723928 meson: adrian-aec requires libm
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
90eec5ab36 meson: Make hal-compat optional
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
1286b798cc meson: Make openssl optional, fix build when openssl is disabled
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
ab5e5fe5c6 meson: Make bluez optional
I can't promise that the logic is *exactly* the same as the logic
currently in use with the autotools, but it seems correct to me.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:55 +05:30
Arnaud Rebillout
f4a8d43882 meson: Make dbus optional, fix build with dbus disabled
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:55 +05:30
Arnaud Rebillout
6ff3420405 meson: Tighter coupling of XOrg dependencies
If `x11-xcb` is found, then let's force other X11 dependencies to be
there as well. That makes things a bit easier, and that's also what is
done in the autotools build system.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:07 +05:30
Arnaud Rebillout
ea92c28218 meson: Create bindir and libdir variables
This is to avoid using the construct 'join_paths(prefix, get_option(...))'
everywhere in the meson files. It's better to settle the paths question
once and for all at the beginning.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:07 +05:30
Arnaud Rebillout
88d77ff852 meson: Enable echo-cancel module, add libwebrtc_util lib, add speex and webrtc dependencies
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-10-04 08:44:18 +05:30
Arnaud Rebillout
31fd820702 meson: Enable ladspa module
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-10-04 08:44:18 +05:30
Arnaud Rebillout
5b0a1df228 meson: Enable oss module and padsp util
Regarding the module:

This is unlike the autotools where liboss-util is built as a library,
here we build everything in the oss module, as apparently there's no
other consumer for liboss-util.

Regarding padsp:

Setting the install mode for padsp requires meson 0.47, so instead we
set padsp.in as executable in the git repository (which is what glib
does for gdbus-codegen btw).

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-10-04 08:44:18 +05:30
Arnaud Rebillout
0d6ea15eea meson: Enable bluetooth modules, add bluez_util lib, add bluez and sbc dependencies
Please notice that the bluez5 version seems wrong in the dependency
declaration: `>= 4.x`, while we're talking about version 5.

The ofono part will need to be made optional when we start to work on
the meson_options file.

I follow the current configure.ac to define 'HAVE_BLUEZ', but it looks
like this part would benefit from a bit of rework. Setting HAVE_BLUEZ
when we have dbus+sbc sounds weird, there's probably a better name for
this variable.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-10-04 08:44:18 +05:30
Arnaud Rebillout
147462b276 meson: Do not build dbus files as a library
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-10-04 08:44:18 +05:30
Arnaud Rebillout
fd6599089b meson: Enable console-kit module
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-10-04 08:44:18 +05:30
Arnaud Rebillout
14486eb08c meson: Enable lirc module, add lirc dependency
This is unlike the autotools where we check that a header exist, here we
use pkgconfig because upstream ships a pkgconfig. I don't know from
which version though...

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-10-04 08:44:18 +05:30
Arnaud Rebillout
cf1795bccc meson: Enable mmkbd-evdev module
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-10-04 08:44:18 +05:30
Arnaud Rebillout
ceba420257 meson: Enable zeroconf modules
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-10-04 08:44:18 +05:30
Arnaud Rebillout
6ee4f86fa4 meson: Enable x11 modules, add x11 related dependencies
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-10-04 08:44:18 +05:30
Arnaud Rebillout
90c6416b18 meson: Enable raop-discover module, add avahi dependency
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-10-04 08:44:18 +05:30
Arnaud Rebillout
4c9b6370d1 meson: Enable raop-sink module, add raop lib, add openssl dependency
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-10-04 08:44:18 +05:30
Arnaud Rebillout
83b6903849 meson: Enable jack modules, add jack dependency
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-10-04 08:44:18 +05:30