LADI
/
spa
1
Fork 0
Commit Graph

314 Commits

Author SHA1 Message Date
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
Barnabás Pőcze c9612225e1 pipewire: module-x11-bell: handle X11 errors
Unfortunately, libX11 has global error and I/O error handlers,
which make it inconvenient to use them from library code.

Since libX11 1.7.0, there is a per-display "exit_handler" which
is called from `_XIOError()`, however, the global I/O error
handler is still called before that, and that - by default -
calls `exit(1)` in `_XDefaultIOError()` after printing the error
to stderr.

To avoid exiting, custom handlers will be registered when
libpipewire-module-x11-bell.so is loaded given that at
that moment the default handlers are installed.

When the shared object is unloaded, the handlers will
be reset to the default ones given that the currently
registered handlers are the ones that were registered
when the module was loaded.

The logic only works correctly if there are no concurrent
calls to `XSet{IO}ErrorHandler()` while `{set,restore}_x11_handlers()`
is running. Since module-x11-bell is probably mostly going to
be loaded in `pipewire-pulse`, this seems like a reasonable
assumption to make.
2022-02-18 12:30:53 +01:00
Wim Taymans 2af3938893 0.3.47 2022-02-18 09:27:44 +01:00
Wim Taymans 0df9d03729 0.3.46 2022-02-17 09:46:57 +01:00