[meta-multimedia,RFC,0/2] PipeWire upgrade and WirePlumber introduction

Message ID 20220208163440.428471-1-crg7475@mailbox.org
Headers show
Series PipeWire upgrade and WirePlumber introduction | expand

Message

Carlos Rafael Giani Feb. 8, 2022, 4:34 p.m. UTC
This short series of patches upgrades PipeWire to version 0.3.45 and
adds a patch for WirePlumber, a session manager for PipeWire.

There are two commonly used session managers for PipeWire:
media-session, which is a small session manager intended for very simple
use cases, but mostly functions as a example; and WirePlumber, an
extensible, scriptable session manager that is usable on both desktop
and embedded systems. These days, media-session is considered deprecated
by upstream, which is why as part of this recipe upgrade, media-session
is no longer available. It is fully replaced by WirePlumber instead.
WirePlumber runs as a separate daemon, alongside PipeWire.

This is an RFC because there a few issues unclear at the moment:

1. Should the configurations be separate recipes for easier exchange of
recipes? If so, would it make sense to introduce new virtual packages,
like "virtual/wireplumber-configuration"? These would be used in
RDEPENDS and RRECOMMENDS, and from what I understand, using virtual
packages in these variables is discouraged. However, running PipeWire
without any session manager typically is not useful, so I'd like to at
least print a warning when this is done, since in >90% of all cases,
this happens because the user forgot to add a PipeWire session manager
to the image.

2. WirePlumber currently does not run out of the box, since it is run
system wide (just like PulseAudio for example, and PipeWire itself also
runs system wide), and some of its scripts and modules try to access a
session-wide DBus, which does not exist when WirePlumber is run system
wide. I am unsure about a proper fix. Should upstream add system wide
DBus support? Or is there a way in OE/Yocto to start session DBus for
individual systemd services like WirePlumber?

Carlos Rafael Giani (2):
  pipewire: Upgrade to 0.3.45
  wireplumber: Add recipe

 ...{pipewire_0.3.34.bb => pipewire_0.3.45.bb} | 117 ++++++++++-----
 .../wireplumber/wireplumber_0.4.8.bb          | 140 ++++++++++++++++++
 2 files changed, 219 insertions(+), 38 deletions(-)
 rename meta-multimedia/recipes-multimedia/pipewire/{pipewire_0.3.34.bb => pipewire_0.3.45.bb} (74%)
 create mode 100644 meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.8.bb