summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-agl-ic-container/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend3
-rw-r--r--meta-agl-ic-container/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_%.bbappend3
-rw-r--r--meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/daemon.conf92
-rw-r--r--meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/nanopct6/system.pa33
-rw-r--r--meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio.service13
-rw-r--r--meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/raspberrypi4-64/system.pa33
-rw-r--r--meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/rcar-gen3/system.pa33
-rw-r--r--meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend27
-rw-r--r--meta-agl-ic-container/recipes-multimedia/wireplumber/wireplumber-policy-config-agl_%.bbappend8
-rw-r--r--meta-agl-ic-container/recipes-multimedia/wireplumber/wireplumber/0001-systemd-wireplumber-to-not-depend-on-the-pipewire-de.patch61
-rw-r--r--meta-agl-ic-container/recipes-multimedia/wireplumber/wireplumber_%.bbappend5
-rw-r--r--meta-agl-ic-container/recipes-qt/qt/qtmultimedia_%.bbappend2
12 files changed, 239 insertions, 74 deletions
diff --git a/meta-agl-ic-container/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend b/meta-agl-ic-container/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
new file mode 100644
index 00000000..6a0d14b3
--- /dev/null
+++ b/meta-agl-ic-container/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
@@ -0,0 +1,3 @@
+PACKAGECONFIG:append = " \
+ openh264 \
+"
diff --git a/meta-agl-ic-container/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_%.bbappend b/meta-agl-ic-container/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_%.bbappend
new file mode 100644
index 00000000..c882a035
--- /dev/null
+++ b/meta-agl-ic-container/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_%.bbappend
@@ -0,0 +1,3 @@
+PACKAGECONFIG:append = " \
+ pulseaudio \
+"
diff --git a/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/daemon.conf b/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/daemon.conf
new file mode 100644
index 00000000..58a2ab6f
--- /dev/null
+++ b/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/daemon.conf
@@ -0,0 +1,92 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
+
+## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
+## more information. Default values are commented out. Use either ; or # for
+## commenting.
+
+; daemonize = no
+; fail = yes
+; allow-module-loading = yes
+; allow-exit = yes
+; use-pid-file = yes
+; system-instance = no
+; local-server-type = user
+; enable-shm = yes
+; enable-memfd = yes
+; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
+; lock-memory = no
+; cpu-limit = no
+
+; high-priority = yes
+; nice-level = -11
+
+realtime-scheduling = yes
+realtime-priority = 5
+
+; exit-idle-time = 20
+; scache-idle-time = 20
+
+; dl-search-path = (depends on architecture)
+
+; load-default-script-file = yes
+; default-script-file = /etc/pulse/default.pa
+
+; log-target = auto
+; log-level = notice
+; log-meta = no
+; log-time = no
+; log-backtrace = 0
+
+; resample-method = speex-float-1
+; avoid-resampling = false
+; enable-remixing = yes
+; remixing-use-all-sink-channels = yes
+; remixing-produce-lfe = no
+; remixing-consume-lfe = no
+; lfe-crossover-freq = 0
+
+; flat-volumes = no
+
+; rescue-streams = yes
+
+; rlimit-fsize = -1
+; rlimit-data = -1
+; rlimit-stack = -1
+; rlimit-core = -1
+; rlimit-as = -1
+; rlimit-rss = -1
+; rlimit-nproc = -1
+; rlimit-nofile = 256
+; rlimit-memlock = -1
+; rlimit-locks = -1
+; rlimit-sigpending = -1
+; rlimit-msgqueue = -1
+; rlimit-nice = 31
+; rlimit-rtprio = 9
+; rlimit-rttime = 200000
+
+default-sample-format = s16le
+default-sample-rate = 48000
+alternate-sample-rate = 48000
+default-sample-channels = 2
+default-channel-map = front-left,front-right
+
+default-fragments = 2
+default-fragment-size-msec = 5
+
+; enable-deferred-volume = yes
+; deferred-volume-safety-margin-usec = 8000
+; deferred-volume-extra-delay-usec = 0
diff --git a/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/nanopct6/system.pa b/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/nanopct6/system.pa
new file mode 100644
index 00000000..f9bffb05
--- /dev/null
+++ b/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/nanopct6/system.pa
@@ -0,0 +1,33 @@
+#!/usr/bin/pulseaudio -nF
+#
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
+
+# This startup script is used only if PulseAudio is started in system
+# mode.
+
+### Automatically restore the volume of streams and devices
+load-module module-device-restore
+load-module module-stream-restore
+load-module module-card-restore
+
+### Use the static hardware detection module (for systems that lack udev/hal support)
+load-module module-alsa-sink device=hw:1,0
+
+### Load several protocols
+load-module module-native-protocol-unix auth-anonymous=1
+
+.nofail
+.include /etc/pulse/system.pa.d
diff --git a/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio.service b/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio.service
new file mode 100644
index 00000000..2cafafcd
--- /dev/null
+++ b/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Pulse Audio Service
+After=basic.target
+Before=multi-user.target
+
+[Service]
+Type=notify
+ExecStart=/usr/bin/pulseaudio --system --daemonize=no --disallow-exit --disallow-module-loading --log-target=journal
+MemoryDenyWriteExecute=yes
+Restart=on-failure
+
+[Install]
+WantedBy=basic.target
diff --git a/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/raspberrypi4-64/system.pa b/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/raspberrypi4-64/system.pa
new file mode 100644
index 00000000..5bb33743
--- /dev/null
+++ b/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/raspberrypi4-64/system.pa
@@ -0,0 +1,33 @@
+#!/usr/bin/pulseaudio -nF
+#
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
+
+# This startup script is used only if PulseAudio is started in system
+# mode.
+
+### Automatically restore the volume of streams and devices
+load-module module-device-restore
+load-module module-stream-restore
+load-module module-card-restore
+
+### Use the static hardware detection module (for systems that lack udev/hal support)
+load-module module-alsa-sink device=hw:"Device"
+
+### Load several protocols
+load-module module-native-protocol-unix auth-anonymous=1
+
+.nofail
+.include /etc/pulse/system.pa.d
diff --git a/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/rcar-gen3/system.pa b/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/rcar-gen3/system.pa
new file mode 100644
index 00000000..6891574f
--- /dev/null
+++ b/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio/rcar-gen3/system.pa
@@ -0,0 +1,33 @@
+#!/usr/bin/pulseaudio -nF
+#
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
+
+# This startup script is used only if PulseAudio is started in system
+# mode.
+
+### Automatically restore the volume of streams and devices
+load-module module-device-restore
+load-module module-stream-restore
+load-module module-card-restore
+
+### Use the static hardware detection module (for systems that lack udev/hal support)
+load-module module-alsa-sink device=hw:0,0
+
+### Load several protocols
+load-module module-native-protocol-unix auth-anonymous=1
+
+.nofail
+.include /etc/pulse/system.pa.d
diff --git a/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
new file mode 100644
index 00000000..ae1a20c6
--- /dev/null
+++ b/meta-agl-ic-container/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
@@ -0,0 +1,27 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/pulseaudio:"
+
+SRC_URI:append = " \
+ file://pulseaudio.service \
+ file://system.pa \
+ file://daemon.conf \
+ "
+
+do_install:append() {
+ install -Dm644 ${WORKDIR}/system.pa ${D}${sysconfdir}/pulse/system.pa
+ install -Dm644 ${WORKDIR}/daemon.conf ${D}${sysconfdir}/pulse/daemon.conf
+ rm ${D}${sysconfdir}/pulse/default.pa
+
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/pulseaudio.service ${D}/${systemd_unitdir}/system
+ rm ${D}/${systemd_unitdir}/user/*
+}
+
+FILES:${PN}-server:append = " ${systemd_unitdir}/*"
+CONFFILES:pulseaudio-server = "\
+ ${sysconfdir}/pulse/daemon.conf \
+ ${sysconfdir}/pulse/system.pa \
+"
+
+SYSTEMD_PACKAGES:append = " ${PN}-server"
+SYSTEMD_SERVICE:${PN}-server = "pulseaudio.service"
+SYSTEMD_AUTO_ENABLE:${PN}-server = "enable"
diff --git a/meta-agl-ic-container/recipes-multimedia/wireplumber/wireplumber-policy-config-agl_%.bbappend b/meta-agl-ic-container/recipes-multimedia/wireplumber/wireplumber-policy-config-agl_%.bbappend
deleted file mode 100644
index fe6dab86..00000000
--- a/meta-agl-ic-container/recipes-multimedia/wireplumber/wireplumber-policy-config-agl_%.bbappend
+++ /dev/null
@@ -1,8 +0,0 @@
-do_install:append() {
- config_dir="${D}${sysconfdir}/wireplumber/"
- systemd_dir="${D}${sysconfdir}/systemd/system/sockets.target.wants"
-
- # enable additional systemd services
- install -d ${systemd_dir}
- ln -s ${systemd_system_unitdir}/wireplumber@.service ${systemd_dir}/wireplumber@policy.service
-}
diff --git a/meta-agl-ic-container/recipes-multimedia/wireplumber/wireplumber/0001-systemd-wireplumber-to-not-depend-on-the-pipewire-de.patch b/meta-agl-ic-container/recipes-multimedia/wireplumber/wireplumber/0001-systemd-wireplumber-to-not-depend-on-the-pipewire-de.patch
deleted file mode 100644
index ba400211..00000000
--- a/meta-agl-ic-container/recipes-multimedia/wireplumber/wireplumber/0001-systemd-wireplumber-to-not-depend-on-the-pipewire-de.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 512e9ee130841e3b6c379511234afc07d66d99d7 Mon Sep 17 00:00:00 2001
-From: Ashok Sidipotu <ashok.sidipotu@collabora.com>
-Date: Mon, 28 Feb 2022 06:46:19 +0530
-Subject: [PATCH] systemd: changes to run wireplumber instances in containers
-
-- remove the pipewire daemon dependencies so that
-only wireplumber policy daemon can run in containers.
-- remove pipewire user
-
-Upstream-Status: Inappropriate [configuration]
----
- src/systemd/system/wireplumber@.service.in | 8 +++-----
- src/systemd/user/wireplumber@.service.in | 5 ++---
- 2 files changed, 5 insertions(+), 8 deletions(-)
-
-diff --git a/src/systemd/system/wireplumber@.service.in b/src/systemd/system/wireplumber@.service.in
-index 0766d4e0..50ddf4c6 100644
---- a/src/systemd/system/wireplumber@.service.in
-+++ b/src/systemd/system/wireplumber@.service.in
-@@ -5,8 +5,7 @@
- # wireplumber@policy.service loads the "policy" profile, etc.
- [Unit]
- Description=Multimedia Service Session Manager (%i)
--After=pipewire.service
--BindsTo=pipewire.service
-+After=sockets.target
- Conflicts=pipewire-media-session.service
-
- [Service]
-@@ -19,9 +18,8 @@ Type=simple
- AmbientCapabilities=CAP_SYS_NICE
- ExecStart=@WP_BINARY@ -p %i
- Restart=on-failure
--User=pipewire
--Environment=PIPEWIRE_RUNTIME_DIR=%t/pipewire
-+Environment=PIPEWIRE_RUNTIME_DIR=/var
- Environment=GIO_USE_VFS=local
-
- [Install]
--WantedBy=pipewire.service
-+WantedBy=multi-user.target
-diff --git a/src/systemd/user/wireplumber@.service.in b/src/systemd/user/wireplumber@.service.in
-index 5c1096fc..7368f683 100644
---- a/src/systemd/user/wireplumber@.service.in
-+++ b/src/systemd/user/wireplumber@.service.in
-@@ -5,8 +5,7 @@
- # wireplumber@policy.service loads the "policy" profile, etc.
- [Unit]
- Description=Multimedia Service Session Manager (%i)
--After=pipewire.service
--BindsTo=pipewire.service
-+After=sockets.target
- Conflicts=pipewire-media-session.service
-
- [Service]
-@@ -22,4 +21,4 @@ Slice=session.slice
- Environment=GIO_USE_VFS=local
-
- [Install]
--WantedBy=pipewire.service
-+WantedBy=multi-user.target
diff --git a/meta-agl-ic-container/recipes-multimedia/wireplumber/wireplumber_%.bbappend b/meta-agl-ic-container/recipes-multimedia/wireplumber/wireplumber_%.bbappend
deleted file mode 100644
index 56f03a4c..00000000
--- a/meta-agl-ic-container/recipes-multimedia/wireplumber/wireplumber_%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/wireplumber:"
-
-SRC_URI += "\
- file://0001-systemd-wireplumber-to-not-depend-on-the-pipewire-de.patch \
-"
diff --git a/meta-agl-ic-container/recipes-qt/qt/qtmultimedia_%.bbappend b/meta-agl-ic-container/recipes-qt/qt/qtmultimedia_%.bbappend
new file mode 100644
index 00000000..4c76a4c3
--- /dev/null
+++ b/meta-agl-ic-container/recipes-qt/qt/qtmultimedia_%.bbappend
@@ -0,0 +1,2 @@
+#PACKAGECONFIG:append = " alsa"
+#PACKAGECONFIG:remove = "ffmpeg pulseaudio"