Commit graph

317 commits

Author SHA1 Message Date
Wim Taymans
98f138dbe0 filter-chain: move sofa and lv2 to external modules
dlopen lv2 and sofa plugin modules instead of hardcoding them into the+
filter-chain. This also makes it possible to add more plugin module
types externally.
2023-06-29 14:04:40 +02:00
Wim Taymans
4cc22d60d2 0.3.72 2023-06-26 09:42:21 +02:00
Wim Taymans
3c44634dd8 modules: add ffado driver module 2023-05-28 15:53:58 +02:00
Wim Taymans
bd225b14bb 0.3.71 2023-05-17 12:33:51 +02:00
Wim Taymans
685ada05f0 module-jack: also search in PREFIX 2023-05-08 10:45:53 +02:00
Wim Taymans
9f7d60c1e8 0.3.70 2023-04-20 10:41:31 +02:00
Wim Taymans
cd8be0ba3b 0.3.69 2023-04-13 10:20:12 +02:00
Wim Taymans
950c4487e9 0.3.68 2023-04-06 12:34:43 +02:00
Wim Taymans
59d5d93878 module-rtp: fix compilation without opus 2023-03-12 19:04:14 +01:00
Wim Taymans
345582dd15 module-rtp: add opus encoding 2023-03-12 18:40:36 +01:00
Barnabás Pőcze
1ef43a5255 meson.build: install symbolic links instead of compiling multiple times
Currently, among others, the `pipewire-pulse` executable is an
exact copy of the `pipewire` executable. Use meson's
`install_symlink()` to avoid the need for compiling the same thing
multiple times. Also use `custom_target()` so that the aliases
are available in an uninstalled environment.

Do the same for `pw-cat`. The benefit is that all aliases
of `pw-cat` are now available in an uninstalled environment.

This commit increasese the minimum meson version to 0.61.1
as that is needed for `install_symlink()`.

The reason for using 0.61.1 instead of 0.61.0 is the following bug:
https://github.com/mesonbuild/meson/issues/9820
2023-03-10 19:50:29 +01:00
Wim Taymans
26623ff8cb 0.3.67 2023-03-09 11:42:26 +01:00
Carlos Rafael Giani
580a3d9872 pw-cat: Enable libavutil logs
This is useful for debugging pw-cat encoded audio playback errors.
2023-02-24 14:15:13 +01:00
Wim Taymans
78e5c2f3e6 utils: handle random_r fallback
musl does not seem to have it so fall back to rand() and srand().
2023-02-22 16:48:04 +01:00
Barnabás Pőcze
aca5755c91 meson.build: promote two warnings to errors
Promote the following warnings to errors:
  * implicit-function-declaration
  * int-conversion
because the code very likely will not work
correctly if any of these two trigger.
2023-02-16 20:55:55 +01:00
Wim Taymans
08b0ed6576 0.3.66 2023-02-16 10:18:28 +01:00
Dmitry Sharshakov
3e0dc2678b filter-chain: add spatializer
SOFA is a file format used for storing and accessing spatial audio data, namely head-related transfer functions. These can be used to create binaural spatial sound using head- or earphones.

This commit introduces libmysofa as an optional dependency for loading SOFA files and creates a spatializer plugin for the filter-chain

ci: install libmysofa-devel for full build

ci: bump FDO_DISTRIBUTION_TAG
2023-01-30 21:07:06 +03:00
Wim Taymans
9558a5d5e0 0.3.65 2023-01-26 09:55:03 +01:00
Carlos Rafael Giani
e261f2ac1c pw-cat: Check for pw_cat_ffmpeg flag instead of HAVE_ALSA_COMPRESS_OFFLOAD
FFmpeg integration in pw-cat does not strictly require Compress-Offload;
for example, there could be other nodes in the graph that can handle
compressed audio.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
2023-01-24 08:44:14 +00:00
Carlos Rafael Giani
6284cf39c0 meson: Rework FFmpeg / tinycompress detection and add pw-cat-ffmpeg option
* Decouple FFmpeg integration in pw-cat from the ffmpeg option; if
  one wants to use Compress-Offload but not the ffmpeg SPA plugin,
  it is then possible to just pass -Dpw-cat-ffmpeg=enabled to meson.
  Likewise, this also makes it possible to build the ffmpeg plugin
  without extending pw-cat.
* tinycompress does not need to be detected in the root meson.build,
  since it is only needed by the alsa plugin.
2023-01-24 08:44:14 +00:00
Carlos Rafael Giani
e9a2c6aa34 Rename "compressed-offload to "Compress-Offload" in the code 2023-01-24 08:44:14 +00:00
Sanchayan Maity
6a034cc398 Add support for ALSA compressed offload
See
https://docs.kernel.org/sound/designs/compress-offload.html
https://github.com/alsa-project/tinycompress
2023-01-24 08:44:14 +00:00
Wim Taymans
bba452695e 0.3.64 2023-01-12 10:31:04 +01:00
Wim Taymans
5ff00f40b9 0.3.63 2022-12-15 09:56:23 +01:00
Wim Taymans
3a443b4e1c 0.3.62 2022-12-09 11:28:24 +01:00
Wim Taymans
37439d2b73 pulse-server: add gsettings module
Uses a thread to monitor gsettings data. Loads and unload modules
based on gsettings.

This makes paprefs work.
2022-12-07 09:45:43 +01:00
Wim Taymans
f038e3f238 0.3.61 2022-11-24 09:57:59 +01:00
Wim Taymans
38382d002d 0.3.60 2022-11-10 10:07:28 +01:00
Jonas Holmberg
050a51aab3 meson_options: Add readline option
Make it possible to disable code that depends on readline even if
readline is pulled in by another dependency, like bluez.
2022-11-07 16:16:12 +01:00
Demi Marie Obenour
899c0d3d78 Disable strict aliasing
PipeWire (and SPA, for that matter) violate it.
2022-10-06 12:12:35 -04:00
Demi Marie Obenour
e8f3450a58 Fix various compiler warnings
These caused build failures with -Werror.
2022-10-06 12:12:35 -04:00
Wim Taymans
f54a72fd9a 0.3.59 2022-09-30 09:58:08 +02:00
Demi Marie Obenour
1e848fc299 SPA POD parser: fix several integer overflows
This fixes several integer overflow problems in the POD parser, as well
as fixing a returns-twice warning from GCC and integer truncation
problems in SPA_FLAG_CLEAR and SPA_ROUND_DOWN_N.  The integer overflows
can result in a tiny POD being treated as a huge one, causing
out-of-bounds reads.
2022-09-27 10:21:17 +00:00
Wim Taymans
64a3edf89e 0.3.58 2022-09-14 17:02:17 +02:00
Wim Taymans
49f1c2038f 0.3.57 2022-09-02 10:23:23 +02:00
Barnabás Pőcze
68ff3ad841 treewide: meson.build: use host_machine instead of build_machine
At the moment, cross compilation may not work in certain cases because
checks are carried out against the build machine instead of the host machine.
Replace uses of `build_machine` with `host_machine` to fix that.

In native compilation, all three "machine objects" available in meson
are the same, so this change should have no effect in that case.

More: https://mesonbuild.com/Cross-compilation.html
2022-08-17 07:34:20 +00:00
Pauli Virtanen
3730e54484 modules: support getting app_id in pw_check_flatpak
Support getting the Flatpak application ID from the .flatpak-info file,
similarly as what xdg-desktop-portal does.
2022-08-01 19:36:00 +00:00
Wim Taymans
f274e53d25 0.3.56 2022-07-19 09:49:51 +02:00
Wim Taymans
957e3a7b38 0.3.55 2022-07-12 10:54:59 +02:00
Wim Taymans
752afa06a2 0.3.54 2022-07-07 10:19:55 +02:00
Wim Taymans
3853eba32f 0.3.53 2022-06-30 09:15:01 +02:00
Lucas Holt
6a15a02ec2 Add support for MidnightBSD
Fix build issue

Fix build issue
2022-06-19 18:22:47 +00:00
Jonas Holmberg
671fc51d27 pw-cli: Work without readline too
Build and install pw-cli using getline() (standardized in POSIX.1-2008)
if readline is not found.
2022-06-15 16:37:01 +02:00
Wim Taymans
31bf631057 0.3.52 2022-06-09 10:35:24 +02:00
Fabrice Fontaine
85ca67b927 fix detection of reallocarray
Fix detection of reallocarray (e.g. on glibc) raised since commit
0708a39b43

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2022-05-30 09:33:27 +02:00
Wim Taymans
ebc775674a 0.3.51 2022-04-27 19:59:21 +02:00
Wim Taymans
64cf5e80e6 0.3.50 2022-04-13 12:41:34 +02:00
Wim Taymans
075e7b2668 0.3.49 2022-03-29 09:44:36 +02:00
Wim Taymans
6c4d3a5158 0.3.48 2022-03-03 11:30:56 +01:00
Barnabás Pőcze
d6c5da5678 pipewire: module-x11-bell: mark connection as terminatable
Since XFixes version 6[1] it is possible to mark
an X connection as terminatable. The X server will
gracefully terminate after a timeout if only
terminatable connections remain.

[1]: https://gitlab.freedesktop.org/xorg/lib/libxfixes/-/merge_requests/1
2022-02-18 12:30:53 +01:00