From 48e10ccbf966b091de28ad60f3a5983f30a8a956 Mon Sep 17 00:00:00 2001 From: George Kiagiadakis Date: Fri, 4 Oct 2019 23:07:46 +0300 Subject: meta-pipewire: add recipe to build the bluez-alsa-pipewire gstreamer helper Unfortunately, the bluez-alsa PCM plugin does not work correctly when it is used through pipewire (or gstreamer, or anywhere really...). For this reason I have built a helper client that uses GStreamer to glue together the bluez-alsa sockets with pipewire. This helper is implemented as a patch to bluez-alsa so that it can use its internal private API. In the future this needs some re-thinking The helper is meant to run in the background as a service and it will create the appropriate streams in pipewire when it detects a new device on the bluealsa d-bus interface. Currently it only supports a2dp-sink and hfp modes (i.e. media player from a phone + calls). Bluetooth speakers need further policy work in wireplumber that is too complex to support on the current halibut version of pipewire/wireplumber. Bug-AGL: SPEC-2792 Change-Id: Ia0a0c4741dc6f28958e911436edde17ebde1a434 Signed-off-by: George Kiagiadakis --- .../bluez-alsa/bluez-alsa/bluealsa-gst-helper@.service | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 meta-pipewire/recipes-connectivity/bluez-alsa/bluez-alsa/bluealsa-gst-helper@.service (limited to 'meta-pipewire/recipes-connectivity/bluez-alsa/bluez-alsa/bluealsa-gst-helper@.service') diff --git a/meta-pipewire/recipes-connectivity/bluez-alsa/bluez-alsa/bluealsa-gst-helper@.service b/meta-pipewire/recipes-connectivity/bluez-alsa/bluez-alsa/bluealsa-gst-helper@.service new file mode 100644 index 00000000..495ab622 --- /dev/null +++ b/meta-pipewire/recipes-connectivity/bluez-alsa/bluez-alsa/bluealsa-gst-helper@.service @@ -0,0 +1,18 @@ +[Unit] +Description=Bluetooth audio helper for user %i +Requires=pipewire@%i.socket bluez-alsa.service +After=pipewire@%i.socket bluez-alsa.service + +[Service] +Type=simple +Restart=on-failure +ExecStart=/usr/bin/bluealsa-gst-helper + +Environment=XDG_RUNTIME_DIR=/run/user/%i +Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%i/bus + +User=%i +Slice=user-%i.slice +SupplementaryGroups=audio +UMask=0077 +CapabilityBoundingSet= -- cgit 1.2.3-korg