summaryrefslogtreecommitdiffstats
path: root/meta-audio-4a-framework
diff options
context:
space:
mode:
Diffstat (limited to 'meta-audio-4a-framework')
-rw-r--r--meta-audio-4a-framework/conf/include/agl-audio-4a-framework.inc1
-rw-r--r--meta-audio-4a-framework/meta-agl-demo/recipes-multimedia/4a-mixer/4a-mixer_git.bb2
-rw-r--r--meta-audio-4a-framework/recipes-core/packagegroups/packagegroup-agl-audio.bb1
-rw-r--r--meta-audio-4a-framework/recipes-multimedia/pulseaudio/files/default.pa.4a88
-rw-r--r--meta-audio-4a-framework/recipes-multimedia/pulseaudio/pulseaudio-module-4a-client_git.bb20
5 files changed, 89 insertions, 23 deletions
diff --git a/meta-audio-4a-framework/conf/include/agl-audio-4a-framework.inc b/meta-audio-4a-framework/conf/include/agl-audio-4a-framework.inc
index 935b9ad1..12711f66 100644
--- a/meta-audio-4a-framework/conf/include/agl-audio-4a-framework.inc
+++ b/meta-audio-4a-framework/conf/include/agl-audio-4a-framework.inc
@@ -14,6 +14,7 @@ PACKAGES_pn-alsa-state_remove = "alsa-state-dev"
PACKAGES_pn-alsa-state_remove = "alsa-states-dev"
PACKAGES_pn-alsa-state = "alsa-state alsa-states"
+PREFERRED_PROVIDER_virtual/mixer ?= "4a-mixer"
PREFERRED_RPROVIDER_virtual/mixer ?= "4a-mixer"
PREFERRED_VERSION_alsa-lib = "1.1.6"
diff --git a/meta-audio-4a-framework/meta-agl-demo/recipes-multimedia/4a-mixer/4a-mixer_git.bb b/meta-audio-4a-framework/meta-agl-demo/recipes-multimedia/4a-mixer/4a-mixer_git.bb
index 93fd1b70..f5192ae3 100644
--- a/meta-audio-4a-framework/meta-agl-demo/recipes-multimedia/4a-mixer/4a-mixer_git.bb
+++ b/meta-audio-4a-framework/meta-agl-demo/recipes-multimedia/4a-mixer/4a-mixer_git.bb
@@ -15,11 +15,11 @@ S = "${WORKDIR}/git"
# build-time dependencies
DEPENDS += "qtquickcontrols2 \
qtwebsockets \
- pulseaudio \
virtual/libhomescreen \
qlibwindowmanager \
"
+PROVIDES += "virtual/mixer"
RPROVIDES_${PN} += "virtual/mixer"
inherit cmake_qt5 aglwgt
diff --git a/meta-audio-4a-framework/recipes-core/packagegroups/packagegroup-agl-audio.bb b/meta-audio-4a-framework/recipes-core/packagegroups/packagegroup-agl-audio.bb
index fde5f637..907cb1c4 100644
--- a/meta-audio-4a-framework/recipes-core/packagegroups/packagegroup-agl-audio.bb
+++ b/meta-audio-4a-framework/recipes-core/packagegroups/packagegroup-agl-audio.bb
@@ -18,4 +18,5 @@ RDEPENDS_${PN} += "\
4a-softmixer \
4a-hal-generic \
${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', '4a-tools', '' , d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio-module-4a-client', '' , d)} \
"
diff --git a/meta-audio-4a-framework/recipes-multimedia/pulseaudio/files/default.pa.4a b/meta-audio-4a-framework/recipes-multimedia/pulseaudio/files/default.pa.4a
index 0afab22b..0efdacc2 100644
--- a/meta-audio-4a-framework/recipes-multimedia/pulseaudio/files/default.pa.4a
+++ b/meta-audio-4a-framework/recipes-multimedia/pulseaudio/files/default.pa.4a
@@ -1,33 +1,77 @@
#!/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 per-user
+# (i.e. not in system mode)
.fail
-### Automatically load driver modules for Bluetooth hardware
-.ifexists module-bluetooth-policy.so
-load-module module-bluetooth-policy
+### Automatically augment property information from .desktop files
+### stored in /usr/share/application
+load-module module-augment-properties
+
+### Load several protocols
+.ifexists module-esound-protocol-unix.so
+load-module module-esound-protocol-unix
.endif
+load-module module-native-protocol-unix
+
+### Network access (may be configured with paprefs, so leave this commented
+### here if you plan to use paprefs)
+#load-module module-esound-protocol-tcp
+#load-module module-native-protocol-tcp
+
+### Load the RTP receiver module (also configured via paprefs, see above)
+#load-module module-rtp-recv
-.ifexists module-bluetooth-discover.so
-load-module module-bluetooth-discover headset=ofono
+### Load the RTP sender module (also configured via paprefs, see above)
+#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
+#load-module module-rtp-send source=rtp.monitor
+
+.ifexists module-4a-client.so
+load-module module-null-sink sink_name=aaaa_null_sink sink_properties="device.description='4A Null Output'"
+set-default-sink aaaa_null_sink
+load-module module-4a-client
+.else
+load-module module-udev-detect
.endif
-load-module module-native-protocol-unix
+### Automatically move streams to the default sink if the sink they are
+### connected to dies, similar for sources
+load-module module-rescue-streams
+
+### Make sure we always have a sink around, even if it is a null sink.
+load-module module-always-sink
### Automatically suspend sinks/sources that become idle for too long
-load-module module-suspend-on-idle timeout=0
-
-load-module module-alsa-sink device=Fallback
-#load-module module-alsa-sink device=CustomLow
-load-module module-alsa-sink device=Radio
-#load-module module-alsa-sink device=Multimedia
-#load-module module-alsa-sink device=Streaming
-load-module module-alsa-sink device=Video
-#load-module module-alsa-sink device=CustomMedium
-load-module module-alsa-sink device=Navigation
-load-module module-alsa-sink device=Phone
-#load-module module-alsa-sink device=CustomHigh
-#load-module module-alsa-sink device=Warning
-load-module module-alsa-sink device=Emergency
-
-set-default-sink alsa_output.Fallback
+load-module module-suspend-on-idle
+
+### If autoexit on idle is enabled we want to make sure we only quit
+### when no local session needs us anymore.
+.ifexists module-console-kit.so
+load-module module-console-kit
+.endif
+.ifexists module-systemd-login.so
+load-module module-systemd-login
+.endif
+
+### Modules to allow autoloading of filters (such as echo cancellation)
+### on demand. module-filter-heuristics tries to determine what filters
+### make sense, and module-filter-apply does the heavy-lifting of
+### loading modules and rerouting streams.
+load-module module-filter-heuristics
+load-module module-filter-apply
diff --git a/meta-audio-4a-framework/recipes-multimedia/pulseaudio/pulseaudio-module-4a-client_git.bb b/meta-audio-4a-framework/recipes-multimedia/pulseaudio/pulseaudio-module-4a-client_git.bb
new file mode 100644
index 00000000..0a763d88
--- /dev/null
+++ b/meta-audio-4a-framework/recipes-multimedia/pulseaudio/pulseaudio-module-4a-client_git.bb
@@ -0,0 +1,20 @@
+SUMMARY = "pulseaudio 4A client module"
+DESCRIPTION = "pulseaudio module to work with 4A (AGL Advanced Audio Agent)"
+HOMEPAGE = "https://gitlab.collabora.com/gkiagia/pulseaudio-module-4a"
+SECTION = "plugins"
+
+LICENSE = "LGPL-2.1+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://gitlab.collabora.com/gkiagia/pulseaudio-module-4a.git;protocol=https"
+SRCREV = "897f554324bbb031d6a482584b227f8400d2c624"
+
+PV = "0.1+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+DEPENDS += "af-binder systemd json-c pulseaudio"
+RDEPENDS_${PN} = "pulseaudio-module-alsa-sink"
+
+FILES_${PN} += "/usr/lib/pulse-*/modules/module-4a-client.so"