summaryrefslogtreecommitdiffstats
path: root/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl_git.bb
diff options
context:
space:
mode:
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>2019-07-26 17:15:00 +0300
committerScott Murray <scott.murray@konsulko.com>2019-07-30 16:46:30 +0000
commitf848576a1400c2e276027b52fd5da13c5e80e62a (patch)
treeabe3a93061590c64d3fe7b6fd1813e8308df3219 /meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl_git.bb
parent4677ad915a01c773b556fd59a32de03e904e5171 (diff)
wireplumber: add AGL-specific per-board config
Bug-AGL: SPEC-2662 Change-Id: If419c940e18feb46f42f9004479944bd395a3b4a Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Diffstat (limited to 'meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl_git.bb')
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl_git.bb69
1 files changed, 69 insertions, 0 deletions
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl_git.bb b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl_git.bb
new file mode 100644
index 00000000..7ed9ea1a
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl_git.bb
@@ -0,0 +1,69 @@
+SUMMARY = "AGL configuration file for wireplumber"
+HOMEPAGE = "https://gitlab.freedesktop.org/gkiagia/wireplumber"
+BUGTRACKER = "https://jira.automotivelinux.org"
+AUTHOR = "George Kiagiadakis <george.kiagiadakis@collabora.com>"
+SECTION = "multimedia"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI = "file://wireplumber.conf.in"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+#
+# For device names, any unique substring of the "endpoint" name is valid.
+# To list all endpoints:
+# export XDG_RUNTIME_DIR=/run/user/1001
+# pipewire-cli
+# > connect pipewire-0
+# > list-objects
+# ... and look for objects of type "PipeWire:Interface:Endpoint/0"
+#
+# For instance:
+# id 269, parent 40, type PipeWire:Interface:Endpoint/0
+# media.name = "USB Audio on WD15 Dock (hw:1,0 / node 5)"
+# media.class = "Audio/Sink"
+# id 270, parent 40, type PipeWire:Interface:Endpoint/0
+# media.name = "USB Audio on WD15 Dock (hw:1,0 / node 7)"
+# media.class = "Audio/Source"
+#
+# Audio/Sink endpoints are valid for playback
+# Audio/Source endpoints are valid for capture
+#
+# Wireplumber will first filter endpoints based on the media.class, depending
+# on whether the client is doing playback or capture and then it will look
+# for a sub-string match in the media.name
+#
+DEV_PLAYBACK = "hw:0,0"
+DEV_CAPTURE = "hw:0,0"
+
+DEV_PLAYBACK_dra7xx-evm = "DRA7xx-EVM"
+DEV_CAPTURE_dra7xx-evm = "DRA7xx-EVM"
+
+DEV_PLAYBACK_m3ulcb = "ak4613"
+DEV_CAPTURE_m3ulcb = "ak4613"
+
+DEV_PLAYBACK_h3ulcb = "ak4613"
+DEV_CAPTURE_h3ulcb = "ak4613"
+
+DEV_PLAYBACK_raspberrypi3 = "bcm2835 ALSA on bcm2835 ALSA"
+DEV_CAPTURE_raspberrypi3 = "hw:0,0"
+
+do_install_append() {
+ sed -e "s/PLAYBACK/${DEV_PLAYBACK}/" -e "s/CAPTURE/${DEV_CAPTURE}/" ${WORKDIR}/wireplumber.conf.in > ${WORKDIR}/wireplumber.conf
+ install -d ${D}/${sysconfdir}/wireplumber/
+ install -m 644 ${WORKDIR}/wireplumber.conf ${D}/${sysconfdir}/wireplumber/wireplumber.conf
+}
+
+FILES_${PN} += "\
+ ${sysconfdir}/wireplumber/* \
+"
+CONFFILES_${PN} += "\
+ ${sysconfdir}/wireplumber/* \
+"
+
+RPROVIDES_${PN} += "virtual/wireplumber-config"