diff options
author | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2019-12-17 19:32:34 +0200 |
---|---|---|
committer | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2019-12-18 19:13:47 +0200 |
commit | 342505cd7d3356df22b485464fe089f39f619264 (patch) | |
tree | 1a43e3ce4443f10268a1aa5f8419f2fc1495d26b /meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl_git.bb | |
parent | 263674cee8b35499e0b49aa7819efd0ba6067cd1 (diff) |
wireplumber: update to master
* Fixes policy issues
* Implements a standard way of configuring the default device: the device
that matches from the *.endpoint files that has the highest priority and
is available on the system becomes the default. Afterwards, at runtime,
the default can be changed with wireplumber-cli. Clients now also link
to the default device, so it is possible to change devices at runtime
without reconfiguring wireplumber.
George Kiagiadakis (9):
session: select the default endpoint based on endpoint priority
config: refactor wireplumber's configuration
config: fix typo in config files
module-session: debug default endpoint changes
policy: track the exported session instead of the proxy
config-policy: debug rescans
cli: fail gracefully if connection to pipewire fails
lib: debug loading of config files + endpoint priorities
parser-endpoint: fix typo; initialize endpoint priority instead of reseting the match one
Julian Bouzas (13):
config-policy: sort endpoints by creation time when finding target
parser-endpoint-link: higher number means higher priority
softdsp-endpoint: don't rename the endpoint on creation
modules: remove alsa-udev and audio-client modules
modules: add config endpoint module
config-policy: remove parsing of streams file
parser-endpoint-link: don't parse unused state value
base-endpoint: add _get_priority API
modules: only allow 'sink' and 'source' strings when parsing direction in config files
base-endpoint: add _get_global_id API
policy: add _get_session API for the policy manager
config-policy: use the default session endpoint if target-endpoint is not defined
config-policy: only handle the highest priority endpoint for a target, and the ones with keep=true
Bug-AGL: SPEC-2837
Change-Id: I87b3e8b9e159dfc472aa534e40e088ae758ad20c
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.bb | 73 |
1 files changed, 23 insertions, 50 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 index f3fbcb42..cab61e49 100644 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl_git.bb +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl_git.bb @@ -9,11 +9,27 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda SRC_URI = "\ file://wireplumber.conf \ - file://default.streams \ - file://default-output-audio.endpoint-link.in \ - file://default-input-audio.endpoint-link.in \ - file://bluealsa-output-audio.endpoint-link.in \ - file://bluealsa-input-audio.endpoint-link.in \ + file://00-audio-sink.endpoint \ + file://00-audio-source.endpoint \ + file://00-default-input-audio.endpoint-link \ + file://00-default-output-audio.endpoint-link \ + file://00-stream-input-audio.endpoint \ + file://00-stream-output-audio.endpoint \ + file://01-hw00-audio-sink.endpoint \ + file://01-hw00-audio-source.endpoint \ + file://30-ak4613-audio-sink.endpoint \ + file://30-ak4613-audio-source.endpoint \ + file://30-dra7xx-audio-sink.endpoint \ + file://30-dra7xx-audio-source.endpoint \ + file://30-rpi3-audio-sink.endpoint \ + file://40-fiberdyne-amp.endpoint \ + file://40-microchip-mic.endpoint \ + file://70-usb-audio-sink.endpoint \ + file://70-usb-audio-source.endpoint \ + file://bluealsa-input-audio.endpoint-link \ + file://bluealsa-output-audio.endpoint-link \ + file://capture.streams \ + file://playback.streams \ " PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -21,55 +37,12 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" do_configure[noexec] = "1" do_compile[noexec] = "1" -# -# Device preferences are configured by listing a subset of the properties -# that the device node has on pipewire. -# -# Every property match needs to have a property name and an expected value. -# The values support shell-like pattern matching using the * and ? characters. -# The syntax adheres to the rules of TOML v0.5 table array. -# -# To list all device node properties, you can run (on the target): -# export XDG_RUNTIME_DIR=/run/user/1001 -# wireplumber-cli device-node-props -# -# Another way to figure out some of these properties is by parsing the -# aplay/arecord output. For example, this line is interpreted as follows: -# -# card 0: PCH [HDA Intel PCH], device 2: ALC3246 [ALC3246 Analog] -# -# api.alsa.path = "hw:0,2" -# api.alsa.card = "0" -# api.alsa.card.id = "PCH" -# api.alsa.card.name = "HDA Intel PCH" -# api.alsa.pcm.device = "2" -# api.alsa.pcm.id = "ALC3246" -# api.alsa.pcm.name = "ALC3246 Analog" -# -DEV_PLAYBACK = '{ name = \"api.alsa.path\", value = \"hw:0,0\" }' -DEV_CAPTURE = '{ name = \"api.alsa.path\", value = \"hw:0,0\" }' - -DEV_PLAYBACK_dra7xx-evm = '{ name = \"api.alsa.card.name\", value = \"DRA7xx-EVM\" }' -DEV_CAPTURE_dra7xx-evm = '{ name = \"api.alsa.card.name\", value = \"DRA7xx-EVM\" }' - -DEV_PLAYBACK_m3ulcb = '{ name = \"api.alsa.card.name\", value = \"ak4613\" }' -DEV_CAPTURE_m3ulcb = '{ name = \"api.alsa.card.name\", value = \"ak4613\" }' - -DEV_PLAYBACK_h3ulcb = '{ name = \"api.alsa.card.name\", value = \"ak4613\" }' -DEV_CAPTURE_h3ulcb = '{ name = \"api.alsa.card.name\", value = \"ak4613\" }' - -DEV_PLAYBACK_raspberrypi3 = '{ name = \"api.alsa.pcm.name\", value = \"bcm2835 ALSA\" }, { name = \"api.alsa.card.name\", value = \"bcm2835 ALSA\" }' -DEV_CAPTURE_raspberrypi3 = '{ name = \"api.alsa.path\", value = \"hw:0,0\" }' - do_install_append() { - sed -e "s/PLAYBACK_DEV_PROPERTIES/${DEV_PLAYBACK}/" -e "s/CAPTURE_DEV_PROPERTIES/${DEV_CAPTURE}/" ${WORKDIR}/default-output-audio.endpoint-link.in > ${WORKDIR}/default-output-audio.endpoint-link - sed -e "s/PLAYBACK_DEV_PROPERTIES/${DEV_PLAYBACK}/" -e "s/CAPTURE_DEV_PROPERTIES/${DEV_CAPTURE}/" ${WORKDIR}/default-input-audio.endpoint-link.in > ${WORKDIR}/default-input-audio.endpoint-link - sed -e "s/PLAYBACK_DEV_PROPERTIES/${DEV_PLAYBACK}/" -e "s/CAPTURE_DEV_PROPERTIES/${DEV_CAPTURE}/" ${WORKDIR}/bluealsa-output-audio.endpoint-link.in > ${WORKDIR}/bluealsa-output-audio.endpoint-link - sed -e "s/PLAYBACK_DEV_PROPERTIES/${DEV_PLAYBACK}/" -e "s/CAPTURE_DEV_PROPERTIES/${DEV_CAPTURE}/" ${WORKDIR}/bluealsa-input-audio.endpoint-link.in > ${WORKDIR}/bluealsa-input-audio.endpoint-link install -d ${D}/${sysconfdir}/wireplumber/ install -m 644 ${WORKDIR}/wireplumber.conf ${D}/${sysconfdir}/wireplumber/wireplumber.conf - install -m 644 ${WORKDIR}/default.streams ${D}/${sysconfdir}/wireplumber/default.streams + install -m 644 ${WORKDIR}/*.endpoint ${D}/${sysconfdir}/wireplumber/ install -m 644 ${WORKDIR}/*.endpoint-link ${D}/${sysconfdir}/wireplumber/ + install -m 644 ${WORKDIR}/*.streams ${D}/${sysconfdir}/wireplumber/ } FILES_${PN} += "\ |