diff options
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" |