Переглянути джерело

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>
James Hilliard 3 роки тому
батько
коміт
ddad938149
2 змінених файлів з 12 додано та 0 видалено
  1. 6 0
      package/pipewire/Config.in
  2. 6 0
      package/pipewire/pipewire.mk

+ 6 - 0
package/pipewire/Config.in

@@ -19,6 +19,12 @@ config BR2_PACKAGE_PIPEWIRE_EXAMPLES
 	help
 	help
 	  Build pipewire examples
 	  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
 config BR2_PACKAGE_PIPEWIRE_GSTREAMER
 	bool "pipewire gstreamer plugins"
 	bool "pipewire gstreamer plugins"
 	depends on BR2_USE_WCHAR # libglib2
 	depends on BR2_USE_WCHAR # libglib2

+ 6 - 0
package/pipewire/pipewire.mk

@@ -156,6 +156,12 @@ else
 PIPEWIRE_CONF_OPTS += -Decho-cancel-webrtc=disabled
 PIPEWIRE_CONF_OPTS += -Decho-cancel-webrtc=disabled
 endif
 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
 define PIPEWIRE_USERS
 	pipewire -1 pipewire -1 * - - - PipeWire System Daemon
 	pipewire -1 pipewire -1 * - - - PipeWire System Daemon
 endef
 endef