package/pipewire: add option to enable media-session support

The example media-session pipewire session manager requires
pipewire to be built with examples enabled, add support for
enabling this while depending on examples being enabled.

To simplify adding support for additional session managers in
the future such as wireplumber we pass a comma separated list
to the -Dsession-managers meson config option. This also will
ensure that systemd services that depend on media-session are
only installed if media-session support is enabled.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
James Hilliard 2021-09-12 14:47:41 -06:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 521b6f8550
commit ddad938149
2 changed files with 12 additions and 0 deletions

View File

@ -19,6 +19,12 @@ config BR2_PACKAGE_PIPEWIRE_EXAMPLES
help
Build pipewire examples
config BR2_PACKAGE_PIPEWIRE_MEDIA_SESSION
bool "pipewire media-session"
depends on BR2_PACKAGE_PIPEWIRE_EXAMPLES
help
Build pipewire media-session support
config BR2_PACKAGE_PIPEWIRE_GSTREAMER
bool "pipewire gstreamer plugins"
depends on BR2_USE_WCHAR # libglib2

View File

@ -156,6 +156,12 @@ else
PIPEWIRE_CONF_OPTS += -Decho-cancel-webrtc=disabled
endif
ifeq ($(BR2_PACKAGE_PIPEWIRE_MEDIA_SESSION),y)
PIPEWIRE_SESSION_MANAGERS_LIST = media-session
endif
PIPEWIRE_CONF_OPTS += -Dsession-managers='$(subst $(space),$(comma),$(PIPEWIRE_SESSION_MANAGERS_LIST))'
define PIPEWIRE_USERS
pipewire -1 pipewire -1 * - - - PipeWire System Daemon
endef