Commit graph

256 commits

Author SHA1 Message Date
Wim Taymans b1a989f62e meson: improve SDL2 summary 2022-01-21 16:30:02 +01:00
Wim Taymans 0cd0ef5912 modules: add x11-bell module
It listens for X11 bell events and plays a sample with libcanberra.

Fixes #1668
2022-01-21 16:30:02 +01:00
Pauli Virtanen 88e744a06f doc: include manpages in html docs
Include manpages as raw text in html docs.  Simple and readable
enough...
2022-01-20 20:51:03 +00:00
Barnabás Pőcze ec465966bc treewide: meson.build: simplify get_variable() calls
Since 01c6fd0a88 the
minimum required meson version is 0.59.0, and since
meson 0.58.0, `get_variable()` on a dependency object
accepts a positional argument. The "type" of variable
(internal, pkgconfig, etc.) in that case does not need
to be specified explicitly.
2022-01-17 08:28:53 +00:00
Barnabás Pőcze 33fb98fddf meson.build: remove version check around devenv
Since 01c6fd0a88 the
minimum required meson version is 0.59.0, therefore
there is no need to check if it's at least 0.58.0,
which was needed for the devenv functionality.
2022-01-17 08:28:53 +00:00
Robbert van der Helm 2b73c86af5 modules: Rename module-rtkit to module-rt
I don't think PipeWire currently has a way to temporarily alias
module-rtkit to module-rt though, so right now this would break realtime
scheduling for people with modified configs that use module-rtkit.
2022-01-15 20:59:41 +01:00
Niklāvs Koļesņikovs 01c6fd0a88 meson.build: bump Meson minimum version to 0.59.0
When creating a new build directory, Meson prints a warning:
  WARNING: Project specifies a minimum meson_version '>= 0.56.0' but
  uses features which were added in newer versions:
   * 0.59.0: {'unescaped_variables arg in pkgconfig.generate'}

Since 0.59.0 was released a while ago and no one has complained so far,
it should be reasonable to just bump the minimum version required,
rather than try to make it 0.56.0 compliant.
2022-01-06 12:20:12 +00:00
Wim Taymans 07724b7aef 0.3.43 2022-01-05 11:25:04 +01:00
Barnabás Pőcze ac376106d9 spa: meson.build: export data directory on dependency 2021-12-28 18:41:09 +01:00
Barnabás Pőcze 93b4fc59cf treewide: meson.build: get PIPEWIRE_{CONFIG,MODULE}_DIR from dependency
Instead of hard-coding the paths relative to the project root,
retrieve the correct paths from `pipewire_dep`.
2021-12-28 18:40:41 +01:00
Barnabás Pőcze 26eb66fb5b treewide: meson.build: get SPA_PLUGIN_DIR from dependency
Instead of hard-coding the path relative to the project root,
retrieve the correct path from `spa_dep`.
2021-12-28 18:39:17 +01:00
Barnabás Pőcze 8ed46a283f treewide: meson.build: use project_{build,source}_root()
Use `meson.project_{build,source}_root()` instead of
`meson.{build,source}_root()` because those functions
do not work as expected when used inside a subproject,
and they have been deprecated in meson 0.56.0.
2021-12-28 18:37:18 +01:00
Barnabás Pőcze a9225d3150 meson.build: use project_{build,source}_root() in devenv
The paths are calculated relative to the project root,
so use the appropriate functions to retrieve it
instead of using the current build/source directory.
2021-12-28 18:35:44 +01:00
Barnabás Pőcze 248b8c40a3 meson.build: require meson 0.56.0 2021-12-28 18:35:12 +01:00
Barnabás Pőcze f090fd86e2 meson.build: remove unnecessary import
The "gnome" meson module is not used, do not import it.
2021-12-28 18:34:54 +01:00
Gleb Popov 014881ca32 Add Meson logic to properly locate OpenSSL on FreeBSD. 2021-12-26 17:43:23 +03:00
Wim Taymans 65aadeb2d7 meson: use c++17 as default to compile libcamera
Fixes #1940
2021-12-24 17:56:37 +01:00
Wim Taymans 7b26384388 Merge tag '0.3.42' 2021-12-16 09:51:21 +01:00
Wim Taymans 3cac296ee0 0.3.42 2021-12-16 09:17:48 +01:00
Jonas Holmberg 6aeb640e31 tests: Add pipewire-alsa stress test
Add test that opens, prepares and closes the alsa pcm device in several
threads simultaneously in an infinite loop.
2021-12-15 16:13:08 +01:00
Wim Taymans 717fb64e4e 0.3.41 2021-12-13 09:35:30 +01:00
Wim Taymans bcd867f8eb filter-chain: disable lilv code when not available 2021-12-10 18:46:06 +01:00
Wim Taymans 597b332666 filter-chain: add support for lv2 plugins
Support lv2 plugins and their control values.
2021-12-10 17:44:28 +01:00
Niklāvs Koļesņikovs ceeaf6c2f9 meson: add -Draop switch for OpenSSL dep control
Even though OpenSSL is very common, automagic dependencies
are still not great, so let's have a raop switch to control
that.
2021-11-13 12:07:33 +00:00
Wim Taymans 9223fc2885 raop: add beginnings of RAOP protocol 2021-11-12 16:58:27 +01:00
Wim Taymans 7afd80052b 0.3.40 2021-11-11 13:21:29 +01:00
columbarius 9f34885174 examples: Create source and sink with fixation on format negotiation
This commit uses the video-src-alloc and video-play-reneg templates to create
examples for manual fixation at the format negotiation phase. These
clients simulate modifier negotiation done by clients handling DmaBufs.

Note: Neither client is capable of proper DmaBuf handling!

video-play-fixate can be used to test if a producer is capable to
fallback to shm buffer transport, while video-src-fixate can only be
used with the former example!
2021-10-27 11:09:24 +02:00
Peter Hutterer 9acee530e2 meson: switch to "foo in array" style for meson arrays
In Meson, string.contains() is a substring check but array.contains() is
a full string check. Let's use 'foo in bar' style instead to avoid
confusion.

Supported since meson 0.49.0
2021-10-26 06:22:20 +00:00
Wim Taymans 5b7ef959d1 0.3.39 2021-10-20 17:00:38 +02:00
Peter Hutterer 1bced6b2ef Remove media-session from this tree
It is now available as a separate project in
https://gitlab.freedesktop.org/pipewire/media-session

The code required by pw-reservice has moved to src/tools/reserve.{c|h}
2021-10-18 20:44:07 +10:00
Barnabás Pőcze 5cfdc2620c meson.build: set MEDIA_SESSION_CONFIG_DIR in devenv
Commit 6c156cdbb4 made pw-uninstalled.sh
export the MEDIA_SESSION_CONFIG_DIR environmental variable, its value
being the location of the media-session configuration files in the
build directory.

Export this environtmental variable in the meson devenv as well.

Fixes: 6c156cdbb4 ("media-session: move the media-session config files to here")
2021-10-14 21:54:37 +02:00
Wim Taymans e68fd36f90 pipewire-v4l2: the start of a v4l2 LD_PRELOAD library 2021-10-14 10:16:35 +02:00
Peter Hutterer 55200209b5 meson.build: fix some formatting 2021-10-13 09:13:12 +00:00
Peter Hutterer ec5b8bf153 meson: use cdata.set_quoted instead of manual quoting 2021-10-13 09:13:12 +00: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
Joshua Strobl ddfbd684e7 Fix readline detection by allowing fallback to cc find_library 2021-09-30 21:27:47 +00:00
Wim Taymans 47a294c5bf 0.3.38 2021-09-30 10:42:30 +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
Peter Hutterer 7c28b0d7af meson: add a summary for the readline dependency 2021-09-29 13:21:08 +10:00
Peter Hutterer ae59185f6f pw-cli: use readline() in interactive mode
With history and a simple command completion hook this makes the
interactive mode a lot easier to deal with.
2021-09-28 07:19:13 +00:00
Wim Taymans c41e3553bf 0.3.37 2021-09-23 10:17:19 +02:00
Peter Hutterer e8e7e72b76 meson: require alsa for pipewire-alsa or media-session
The previous code had alsa optional if pipewire-alsa was on
auto/disabled bug failed later with missing alsa if media-session was in
the session manager array. Which it is by default.

Fixes #1632
2021-09-21 08:59:30 +10:00
Pauli Virtanen 229892d45d pw-uninstalled: set SPA_DATA_DIR + fix meson devenv
Set SPA_DATA_DIR needed for the bluez5 plugin hwdb file in
pw-uninstalled.

Also fix its value for meson devenv.
2021-09-19 18:12:19 +00:00
Pauli Virtanen cae1554449 bluez5: move bluez-hardware.conf loading to the plugin
It's not really the responsibility of the session manager to load the
bluez5 device quirks, and it's easier for eg. Wireplumber if it doesn't
need to do it.

Move loading bluez-hardware.conf to be the responsibility of the bluez5
spa plugin, similarly as the alsa plugin deals with the ACP database.

Put the configuration to share/spa-0.2/bluez5, mirroring the plugin
directory structure in lib/spa-0.2/bluez5.
2021-09-19 17:28:17 +00:00
Wim Taymans 10abcd92d7 update version number as well 2021-09-16 18:38:56 +02:00
Wim Taymans 91069ec3d2 0.3.35 2021-09-09 09:52:35 +02:00
Niklāvs Koļesņikovs 40cbcf2887 Meson: Update two pipewire.org URLs to HTTPS 2021-09-03 11:41:45 +00:00
Niklāvs Koļesņikovs e41187d643 man: move from xmltoman to rst2man
xmltoman looks dead and uses XML as well as pulls in a long list of
Perl dependencies. This replaces it with rst2man that has almost no
dependencies beyond Python, which is already required for the Meson
build system.

Naturally rst2man uses reStructuredText and the pages were rewritten
via regex and manual editing to be as close to original XML format
as possible. A few fixes and updates were done too. Most notably a
note was added to indicate that production deployments should not be
starting the session manager via pipewire.conf file.

There's three slight formatting issues/differences:
1. rst2man produces simpler footer.
2. "-f | --foo=value" confuses the parser and it fails to correctly
   add argument specific syntax highlighting to assignment value.
3. XML version had inconsistent use of <arg> and <opt> which has
   been partially addressed. But different manual pages still have
   their differences to what and how is highlighted.
2021-09-03 11:41:45 +00:00
Wim Taymans 1924c2c298 0.3.34 2021-08-26 13:05:12 +02:00
Wim Taymans f816f702a5 filter-chain: make sndfile optional
Replace the code paths that require sndfile with a fallback when the
dependency was not found.
2021-08-12 09:59:56 +02:00