diff options
Diffstat (limited to 'meta-audio-4a-framework')
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" |