meta-agl-lxc: integrate pipewire-ic-ipc and pull in agl-pipewire 04/26504/3
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>
Thu, 15 Jul 2021 13:38:49 +0000 (16:38 +0300)
committerGeorge Kiagiadakis <george.kiagiadakis@collabora.com>
Fri, 30 Jul 2021 08:23:36 +0000 (11:23 +0300)
commit72ac5f60cf0ee94150471b17c35f4ea46c0dcffb
tree4be6e7d3a38d00103c33651b664cf5a4d1cbe8bd
parent97d9a76cc73cec3ffadb9539cc76e56beaf8a9bc
meta-agl-lxc: integrate pipewire-ic-ipc and pull in agl-pipewire

pipewire-ic-ipc offers a small unix socket server that listens
for the SUSPEND & RESUME requests from its clients and sets the
"suspend.playback" metadata on pipewire. This allows wireplumber
instances to catch changes to this metadata property and suspend
or resume playback from applications appropriately.

The purpose of this is to allow Instrument Cluster applications to
suspend audio from other containers and play certain sounds exclusively.

The server-side is implemented as a pipewire module that gets loaded
in a separate pipewire process and behaves as a client to the actual
pipewire daemon. It is not affected by pipewire daemon's stops & reloads,
as it re-connects automatically to pipewire and synchronizes the
"suspend.playback" status.

The icipc-client application is an example that is not meant to be
used in production. IC applications are expected to use the library
directly. It is provided for testing & demo purposes.

v2:
 - removed the client from the host image
 - updated the pipewire-ic-ipc git URI to point to AGL's gerrit

Bug-AGL: SPEC-4027
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: I9e326797ce899c2579a0d7794202091e455c6c98
meta-agl-lxc/recipes-container/lxc-config/files/config.cluster-demo.in
meta-agl-lxc/recipes-multimedia/pipewire-ic-ipc/pipewire-ic-ipc_git.bb [new file with mode: 0644]
meta-agl-lxc/recipes-platform/images/guest-image-cluster-demo.bb
meta-agl-lxc/recipes-platform/images/lxc-host-image-demo.bb
templates/feature/agl-lxc/included.dep