Added pipewire with libcamera support

This commit is contained in:
2023-02-02 20:20:48 +01:00
parent 27eed6e32f
commit 0720018df6
8 changed files with 583 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/fba7083f8ceb210c7c20aceafeb5c9a8767cf705
From fba7083f8ceb210c7c20aceafeb5c9a8767cf705 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Thu, 26 Jan 2023 11:57:45 +0100
Subject: [PATCH] modules: also install module-combine-stream
--- a/src/modules/meson.build
+++ b/src/modules/meson.build
@@ -139,7 +139,7 @@ pipewire_module_echo_cancel_sources = [
pipewire_module_combine_stream = shared_library('pipewire-module-combine-stream',
[ 'module-combine-stream.c' ],
include_directories : [configinc],
- install : false,
+ install : true,
install_dir : modules_install_dir,
install_rpath: modules_install_dir,
dependencies : [spa_dep, dl_lib, pipewire_dep],
--
2.39.1

View File

@@ -0,0 +1,28 @@
https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1511
From 18fa7a555cc43c7219a53d836d9561faec6d6310 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Sat, 28 Jan 2023 11:04:48 +0000
Subject: [PATCH] spa: bluez5: fix dependency on glib in bluez5_deps
In de595a78ff958b8314d853f6266d5832529d9729, we started to require glib
for building bluez and introduced dependencies for the needed gio* bits,
but we only ever check for glib itself for gstreamer or flatpak.
Drop glib from the dep list to match the summary() & subsequent bluez_deps_found
logic in spa/meson.build.
Fixes: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2999
--- a/spa/plugins/bluez5/meson.build
+++ b/spa/plugins/bluez5/meson.build
@@ -1,6 +1,6 @@
gnome = import('gnome')
-bluez5_deps = [ mathlib, dbus_dep, glib2_dep, sbc_dep, bluez_dep, gio_dep, gio_unix_dep ]
+bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, gio_dep, gio_unix_dep ]
foreach dep: bluez5_deps
if not dep.found()
subdir_done()
--
2.39.1

View File

@@ -0,0 +1,17 @@
# Load pipewire configuration at conf hook processing time. This allows to
# override pulseaudio defaults configuration which is also applied via hook.
#
# Note since hooks are run after @GENTOO_PORTAGE_EPREFIX@/etc/asound.conf and ~/.asoundrc are applied,
# we load these again here make sure that user configuration takes precedence.
@hooks [
{
func load
files [
"@GENTOO_PORTAGE_EPREFIX@/usr/share/alsa/alsa.conf.d/99-pipewire-default.conf"
"@GENTOO_PORTAGE_EPREFIX@/etc/asound.conf"
"~/.asoundrc"
]
errors false
}
]

View File

@@ -0,0 +1,29 @@
#!/bin/sh
# PipeWire launcher script for XDG compliant desktops on OpenRC.
#
# systemd users are very _STRONGLY_ advised to use the much
# more reliable and predictable user units instead.
# WARNING: This script assumes being run inside XDG compliant session,
# which means D-Bus session instance is expected to be correctly set up
# prior to this script starting. If that is not true, things may break!
# Best to reap any existing daemons and only then try to start a new set.
pkill -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1
# The core daemon which by itself does probably nothing.
@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire &
# The so called pipewire-pulse daemon used for PulseAudio compatibility.
# Commenting this out will stop the PA proxying daemon from starting,
# however ALSA (with pipewire-alsa), JACK (with jack-sdk) and PW API using
# clients will still have access to audio and may end up clashing with
# non-PW apps over HW control (most notably, /usr/bin/pulseaudio daemon).
@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire -c pipewire-pulse.conf &
# Hack for bug #822498
sleep 1
# Finally a session manager is required for PipeWire to do anything.
exec @GENTOO_PORTAGE_EPREFIX@/usr/bin/wireplumber

View File

@@ -0,0 +1,12 @@
[Desktop Entry]
Version=1.0
Name[de]=PipeWire Mediensystem
Name=PipeWire Media System
Comment[de]=Das PipeWire Mediensystem starten
Comment=Start the PipeWire Media System
Exec=/usr/libexec/pipewire-launcher
Terminal=false
Type=Application
X-GNOME-HiddenUnderSystemd=true
X-KDE-HiddenUnderSystemd=true
X-systemd-skip=true

View File

@@ -0,0 +1,12 @@
[Desktop Entry]
Version=1.0
Name[de]=PipeWire Mediensystem
Name=PipeWire Media System
Comment[de]=Das PipeWire Mediensystem starten
Comment=Start the PipeWire Media System
Exec=/usr/bin/gentoo-pipewire-launcher
Terminal=false
Type=Application
X-GNOME-HiddenUnderSystemd=true
X-KDE-HiddenUnderSystemd=true
X-systemd-skip=true