From 46eb4a3dbcaeae7eb321d153a577e2ee6460f4c7 Mon Sep 17 00:00:00 2001 From: Kazumasa Mitsunari Date: Tue, 31 Oct 2017 18:54:36 +0900 Subject: Enable audio management with Sound Manager automatically Originally, configuration.xml(Audio policy file for Sound Manager) must be replaced manually to use Sound Manager. And /etc/pulse/default.pa file must be modified not to load module router manually for now. The module-router couldn't coexist with soundmanager for now. (In the future, coexist for supporting legacy apps) This patch enables Audio Management system based on Sound Manager and Genivi Audio Manager automatically. [Patch Set3] - Remove bbappend - Override pulseaudio-config - Override audiomanager-plugins-config - Add PREFERRED_PROVIDER to the packagegroup-hmi-framework.bb [Patch Set6] - Remove recipes related to soundmanager from hmi-framework - Create a new feature as agl-audio-soundmanager-framework [Patch Set7] - Use PROVIDES instead of RPROVIDES Bug-AGL: SPEC-1025, SPEC-1026, SPEC-1027 Change-Id: I26e484e130feac2bedc13839110a6208579b8bbc Signed-off-by: Kazumasa Mitsunari --- meta-audio-soundmanager-framework/COPYING.MIT | 17 + meta-audio-soundmanager-framework/README.md | 18 + meta-audio-soundmanager-framework/conf/layer.conf | 10 + .../agl-service-audio-soundmanager_git.bb | 19 + .../amcp_dbus.conf | 20 + .../amrp_dbus.conf | 21 + .../configuration.xml | 516 +++++++++++++++++++++ .../customtypes.xsd | 63 +++ .../soundmanager-dbus.conf | 18 + ...audiomanager-plugins-config-soundmanager_7.4.bb | 40 ++ .../libsoundmanager/libsoundmanager_git.bb | 15 + .../files/soundmanager.pa | 3 + .../pulseaudio-config-soundmanager_1.0.bb | 12 + .../packagegroup-agl-audio-soundmanager.bb | 18 + .../agl-service-soundmanager-2017_git.bb | 19 - .../libsoundmanager/libsoundmanager_git.bb | 15 - .../50_bblayers.conf.inc | 5 + .../50_local.conf.inc | 4 + 18 files changed, 799 insertions(+), 34 deletions(-) create mode 100644 meta-audio-soundmanager-framework/COPYING.MIT create mode 100644 meta-audio-soundmanager-framework/README.md create mode 100644 meta-audio-soundmanager-framework/conf/layer.conf create mode 100644 meta-audio-soundmanager-framework/recipes-multimedia/agl-service-audio-soundmanager/agl-service-audio-soundmanager_git.bb create mode 100644 meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/amcp_dbus.conf create mode 100644 meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/amrp_dbus.conf create mode 100644 meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/configuration.xml create mode 100644 meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/customtypes.xsd create mode 100644 meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/soundmanager-dbus.conf create mode 100644 meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager_7.4.bb create mode 100644 meta-audio-soundmanager-framework/recipes-multimedia/libsoundmanager/libsoundmanager_git.bb create mode 100644 meta-audio-soundmanager-framework/recipes-multimedia/pulseaudio-config-soundmanager/files/soundmanager.pa create mode 100644 meta-audio-soundmanager-framework/recipes-multimedia/pulseaudio-config-soundmanager/pulseaudio-config-soundmanager_1.0.bb create mode 100644 meta-audio-soundmanager-framework/recipes-packagegroup/packagegroups/packagegroup-agl-audio-soundmanager.bb delete mode 100644 meta-hmi-framework/recipes-multimedia/agl-service-soundmanager-2017/agl-service-soundmanager-2017_git.bb delete mode 100644 meta-hmi-framework/recipes-multimedia/libsoundmanager/libsoundmanager_git.bb create mode 100644 templates/feature/agl-audio-soundmanager-framework/50_bblayers.conf.inc create mode 100644 templates/feature/agl-audio-soundmanager-framework/50_local.conf.inc diff --git a/meta-audio-soundmanager-framework/COPYING.MIT b/meta-audio-soundmanager-framework/COPYING.MIT new file mode 100644 index 00000000..89de3547 --- /dev/null +++ b/meta-audio-soundmanager-framework/COPYING.MIT @@ -0,0 +1,17 @@ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/meta-audio-soundmanager-framework/README.md b/meta-audio-soundmanager-framework/README.md new file mode 100644 index 00000000..751a3c2d --- /dev/null +++ b/meta-audio-soundmanager-framework/README.md @@ -0,0 +1,18 @@ +This README file contains information on the contents of the +soundmanager layer. + +Please see the corresponding sections below for details. + +How to enable the framework +================= +In order to enable the soundmanager audio framework features, +please add the feature of "agl-audio-soundmanager-framework" +in the source command which enables bitbake. + +$ source meta-agl/scripts/aglsetup.sh -m agl-demo agl-audio-soundmanager-framework + + +Reference +================= +http://docs.automotivelinux.org/docs/apis_services/en/dev/reference/hmi-framework/3_3-SoundManager-Guide.html + diff --git a/meta-audio-soundmanager-framework/conf/layer.conf b/meta-audio-soundmanager-framework/conf/layer.conf new file mode 100644 index 00000000..4452bc99 --- /dev/null +++ b/meta-audio-soundmanager-framework/conf/layer.conf @@ -0,0 +1,10 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "audio-soundmanager-framework" +BBFILE_PATTERN_audio-soundmanager-framework = "^${LAYERDIR}/" +BBFILE_PRIORITY_audio-soundmanager-framework = "6" diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/agl-service-audio-soundmanager/agl-service-audio-soundmanager_git.bb b/meta-audio-soundmanager-framework/recipes-multimedia/agl-service-audio-soundmanager/agl-service-audio-soundmanager_git.bb new file mode 100644 index 00000000..b561cf4e --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/agl-service-audio-soundmanager/agl-service-audio-soundmanager_git.bb @@ -0,0 +1,19 @@ +SUMMARY = "Sound Manager binding" +DESCRIPTION = "Sound Manager is the service binding to communicate \ + with Genivi Audio Manager. Genivi Audio Manager is \ + the policy manager for sound. It controls volume \ + and routing according to various situations. \ + " +HOMEPAGE = "https://wiki.automotivelinux.org/soundmanager" +SECTION = "multimedia" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +DEPENDS = "dbus glib-2.0 af-binder json-c" +RDEPENDS_${PN} = "audiomanager audiomanager-plugins" + +inherit cmake aglwgt + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/agl-service-soundmanager-2017;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "b1be03d9670f166af53f1d06275e2428e8c99779" +S = "${WORKDIR}/git" diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/amcp_dbus.conf b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/amcp_dbus.conf new file mode 100644 index 00000000..49544d5e --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/amcp_dbus.conf @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/amrp_dbus.conf b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/amrp_dbus.conf new file mode 100644 index 00000000..6832d305 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/amrp_dbus.conf @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/configuration.xml b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/configuration.xml new file mode 100644 index 00000000..3dc69c12 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/configuration.xml @@ -0,0 +1,516 @@ + + + + + 0 + UNKNOWN + SourceTemplate + 0 + TRUE + UNKNOWN + SS_OFF + CF_GENIVI_STEREO + CF_GENIVI_MONO + IS_OFF + + A_AVAILABLE + AR_UNKNOWN + + + SP_GENIVI_TREBLE + 5 + + + SP_GENIVI_MID + 5 + + + SP_GENIVI_BASS + 5 + + + MSP_GENIVI_TREBLE + 5 + + + MSP_GENIVI_MID + 5 + + + MSP_GENIVI_BASS + 5 + + REG_TEMPLATE + TRUE + 1 + + MSP_UNKNOWN,SP_UNKNOWN + MSP_GENIVI_TREBLE,SP_GENIVI_TREBLE + + + + 0 + SoundManager + mediaplayer + BASE + REG_ROUTER + + + 2 + SoundManager + ALSA#Playback + BASE + REG_ROUTER + + + 3 + SoundManager + music + BASE + REG_ROUTER + + + 4 + SoundManager + Navi + INT + REG_ROUTER + + + 5 + SoundManager + phone + PHONE + REG_ROUTER + + + 0 + SoundManager + radio + BASE + REG_ROUTER + + + + + 0 + UNKNOWN + SinkTemplate + 0 + TRUE + 100 + BASE + MS_UNMUTED + CF_GENIVI_STEREO + CF_GENIVI_MONO + + A_AVAILABLE + AR_GENIVI_NEWMEDIA + + + SP_GENIVI_TREBLE + 5 + + + SP_GENIVI_MID + 5 + + + SP_GENIVI_BASS + 5 + + + MSP_GENIVI_TREBLE + 5 + + + MSP_GENIVI_MID + 5 + + + MSP_GENIVI_BASS + 5 + + REG_TEMPLATE + TRUE + 1 + + 0,0.0 + 1,0.01 + 2,0.02 + 3,0.03 + 4,0.04 + 5,0.05 + 6,0.06 + 7,0.07 + 8,0.08 + 9,0.09 + 10,0.1 + 11,0.11 + 12,0.12 + 14,0.14 + 15,0.15 + 17,0.17 + 20,0.2 + 22,0.22 + 25,0.25 + 28,0.28 + 31,0.31 + 35,0.35 + 40,0.4 + 45,0.45 + 50,0.5 + 56,0.56 + 62,0.62 + 70,0.7 + 80,0.8 + 90,0.9 + 100,1.0 + + + 0.0,-192.0 + 0.01,-40.0 + 0.02,-34.0 + 0.03,-30.0 + 0.04,-27.0 + 0.05,-26.0 + 0.06,-24.0 + 0.07,-23.0 + 0.08,-22.0 + 0.09,-21.0 + 0.1,-20.0 + 0.11,-19.0 + 0.12,-18.0 + 0.14,-17.0 + 0.15,-16.0 + 0.17,-15.0 + 0.2,-14.0 + 0.22,-13.0 + 0.25,-12.0 + 0.28,-11.0 + 0.31,-10.0 + 0.35,-9.0 + 0.4,-8.0 + 0.45,-7.0 + 0.5,-6.0 + 0.56,-5.0 + 0.62,-4.0 + 0.7,-3.0 + 0.8,-2.0 + 0.9,-1.0 + 1.0,0.0 + + + MSP_UNKNOWN,SP_UNKNOWN + MSP_GENIVI_TREBLE,SP_GENIVI_TREBLE + + + + 1 + SoundManager + rsnd-dai.0-ak4642-hifi#Analog#Stereo + BASE + REG_CONTROLLER + + + 2 + SoundManager + Microchip#MOST:0#Multichannel + BASE + REG_CONTROLLER + + + + + + + + 0 + SoundManager + org.genivi.audiomanager + SoundManager + FALSE + TRUE + DS_CONTROLLED + REG_ROUTER + + + + + BASE + C_PLAYBACK + 1 + Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=mediaplayer^music^ALSA#Playback^radio + + + INT + C_PLAYBACK + 2 + Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=Navi + + + PHONE + C_PLAYBACK + 3 + Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=phone + + + + + + + USER_CONNECTION_REQUEST + + name(CLASS, REQUESTING) EQ "BASE" + connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED + + ACTION_DISCONNECT + + "BASE" + CS_CONNECTED + + + + + + + USER_CONNECTION_REQUEST + + name(CLASS, REQUESTING) EQ "INT" + + ACTION_LIMIT + + "BASE" + -1000 + 01 + + + + + name(CLASS, REQUESTING) EQ "INT" + connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED + priority(CONNECTIONOFCLASS, REQUESTING, OTHERS) LT priority(CONNECTION, REQUESTING) + + ACTION_PUSH + + "INT" + O_NEWEST + + + TRUE + + + name(CLASS, REQUESTING) EQ "INT" + connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED + + ACTION_PUSH + + "INT" + O_OLDEST + + + + + name(CLASS, REQUESTING) EQ "INT" + connectionState(CONNECTIONOFCLASS, "PHONE") INC CS_CONNECTED + + ACTION_MUTE + + REQUESTING + + + + ACTION_CONNECT + + REQUESTING + + + TRUE + + + + + USER_CONNECTION_REQUEST + + name(CLASS, REQUESTING) EQ "PHONE" + + ACTION_LIMIT + + "BASE" + -1000 + 02 + + + + + name(CLASS, REQUESTING) EQ "PHONE" + connectionState(CONNECTIONOFCLASS, "INT") INC CS_CONNECTED + + ACTION_MUTE + + "INT" + + + + + name(SINK, REQUESTING) EQ "AMP" + + ACTION_CONNECT + + REQUESTING + 5000 + + + TRUE + + + + + + USER_DISCONNECTION_REQUEST + + + ACTION_DISCONNECT + + REQUESTING + REQUESTING + + + + + name(CLASS, REQUESTING) EQ "INT" + + ACTION_UNLIMIT + + "BASE" + 01 + + + + + name(CLASS, REQUESTING) EQ "INT" + connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED + + ACTION_POP + + "INT" + O_OLDEST + + + + + name(CLASS, REQUESTING) EQ "PHONE" + connectionState(CONNECTIONOFCLASS, "INT") INC CS_CONNECTED + + ACTION_UNMUTE + + "INT" + + + + + name(CLASS, REQUESTING) EQ "PHONE" + + ACTION_UNLIMIT + + "BASE" + 02 + + + + + name(CLASS, REQUESTING) EQ "BASE" + connectionState(CONNECTIONOFCLASS, "BASE") INC CS_SUSPENDED + + ACTION_RESUME + + "BASE" + CS_SUSPENDED + + + + + + + USER_SET_VOLUME + + + ACTION_SET_VOLUME + + REQUESTING + + + + + + + + USER_SET_SINK_MUTE_STATE + + muteState(USER,REQUESTING) EQ MS_MUTED + + ACTION_MUTE + + REQUESTING + + + + + muteState(USER,REQUESTING) EQ MS_UNMUTED + + ACTION_UNMUTE + + REQUESTING + + + + + + + + USER_SET_SINK_MAIN_SOUND_PROPERTY + + + ACTION_SET_PROPERTY + + REQUESTING + + + + + + + + USER_SET_SOURCE_MAIN_SOUND_PROPERTY + + + ACTION_SET_PROPERTY + + REQUESTING + + + + + + + + USER_CONNECTION_REQUEST + + + ACTION_CONNECT + + REQUESTING + 5000 + + + + + + + + + SYP_DEBUG_LOG + 5 + + + diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/customtypes.xsd b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/customtypes.xsd new file mode 100644 index 00000000..2604fb71 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/customtypes.xsd @@ -0,0 +1,63 @@ + + + + + This enumeration list the source/sink availability change reason. + + + + + + + This enumeration list the source and sink sound property. The sound properties of Genivi Audio manager can be extended to include project specific properties. Three sound properties like volume persistence, connection persistence and volume support are extended. + + + + + + + This enumeration lists the connection format for the source and sinks. + + + + + + + This enumeration contains the type of notification possible. + + + + + + + This enumeration lists the system properties. + + + + + 1 + + + + + + + + + + + + This enumeration lists the Main Properties for source and sinks. + + + + + + + + + + + + + diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/soundmanager-dbus.conf b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/soundmanager-dbus.conf new file mode 100644 index 00000000..cacb60e9 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager/soundmanager-dbus.conf @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager_7.4.bb b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager_7.4.bb new file mode 100644 index 00000000..6c3bf26e --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config-soundmanager/audiomanager-plugins-config-soundmanager_7.4.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "Configurations for Audiomanager Plugins with Sound Manager" +HOMEPAGE = "" +LICENSE = "MPLv2" +SECTION = "multimedia" + +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MPL-2.0;md5=815ca599c9df247a0c7f619bab123dad" +RDEPENDS_${PN} = "libxml2 zlib dbus-lib" + +SRC_URI = " \ + file://amcp_dbus.conf \ + file://amrp_dbus.conf \ + file://configuration.xml \ + file://customtypes.xsd \ + file://soundmanager-dbus.conf \ +" + +FILES_${PN} = " \ + ${sysconfdir}/dbus-1/system.d/amcp_dbus.conf \ + ${sysconfdir}/dbus-1/system.d/amrp_dbus.conf \ + ${sysconfdir}/dbus-1/system.d/soundmanager-dbus.conf \ + ${sysconfdir}/audiomanager/control/configuration.xml \ + ${sysconfdir}/audiomanager/control/customtypes.xsd \ +" + +FILES_${PN}-dbg += " \ + /usr/lib/audiomanager/command/.debug \ + /usr/lib/audiomanager/routing/.debug \ +" + +do_install() { + install -d ${D}${sysconfdir}/dbus-1/system.d + install -m 644 ${WORKDIR}/amcp_dbus.conf ${D}${sysconfdir}/dbus-1/system.d/ + install -m 644 ${WORKDIR}/amrp_dbus.conf ${D}${sysconfdir}/dbus-1/system.d/ + install -m 644 ${WORKDIR}/soundmanager-dbus.conf ${D}${sysconfdir}/dbus-1/system.d/ + install -d ${D}${sysconfdir}/audiomanager/control + install -m 644 ${WORKDIR}/configuration.xml ${D}${sysconfdir}/audiomanager/control/ + install -m 644 ${WORKDIR}/customtypes.xsd ${D}${sysconfdir}/audiomanager/control/ +} + +PROVIDES_${PN} += "virtual/audiomanager-plugins-config" diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/libsoundmanager/libsoundmanager_git.bb b/meta-audio-soundmanager-framework/recipes-multimedia/libsoundmanager/libsoundmanager_git.bb new file mode 100644 index 00000000..4e9c84ad --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/libsoundmanager/libsoundmanager_git.bb @@ -0,0 +1,15 @@ +SUMMARY = "Sound Manager client library for applications" +DESCRIPTION = "Sound Manager client library for applications built with recipe" +HOMEPAGE = "https://wiki.automotivelinux.org/soundmanager" +SECTION = "multimedia" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +DEPENDS = "af-binder json-c" +RDEPENDS_${PN} = "agl-service-audio-soundmanager" + +inherit cmake + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/staging/libsoundmanager.git;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "e920aae9f71c0823ab5754b2de8483e157368580" +S = "${WORKDIR}/git" diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/pulseaudio-config-soundmanager/files/soundmanager.pa b/meta-audio-soundmanager-framework/recipes-multimedia/pulseaudio-config-soundmanager/files/soundmanager.pa new file mode 100644 index 00000000..cb53f339 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/pulseaudio-config-soundmanager/files/soundmanager.pa @@ -0,0 +1,3 @@ +.ifexists module-router.so +unload-module module-router +.endif diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/pulseaudio-config-soundmanager/pulseaudio-config-soundmanager_1.0.bb b/meta-audio-soundmanager-framework/recipes-multimedia/pulseaudio-config-soundmanager/pulseaudio-config-soundmanager_1.0.bb new file mode 100644 index 00000000..52a3e8e6 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/pulseaudio-config-soundmanager/pulseaudio-config-soundmanager_1.0.bb @@ -0,0 +1,12 @@ +SUMMARY = "PulseAudio configuration which doesn't load module-router" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "file://soundmanager.pa" + +do_install () { + install -d ${D}${sysconfdir}/pulse/default.d + install -m 0644 ${WORKDIR}/soundmanager.pa ${D}${sysconfdir}/pulse/default.d/ +} + +PROVIDES_${PN} += "virtual/pulseaudio-config" diff --git a/meta-audio-soundmanager-framework/recipes-packagegroup/packagegroups/packagegroup-agl-audio-soundmanager.bb b/meta-audio-soundmanager-framework/recipes-packagegroup/packagegroups/packagegroup-agl-audio-soundmanager.bb new file mode 100644 index 00000000..093c6fc7 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-packagegroup/packagegroups/packagegroup-agl-audio-soundmanager.bb @@ -0,0 +1,18 @@ +SUMMARY = "Sound Manager package groups" +DESCRIPTION = "AGL sound manager package group based on Genivi Audio Manager" +LICENSE = "MIT" + +inherit packagegroup + +PACKAGES = "\ + packagegroup-agl-audio-soundmanager \ + " + +RDEPENDS_${PN} += "\ + agl-service-audio-soundmanager \ + pulseaudio-config-soundmanager \ + audiomanager-plugins-config-soundmanager \ + libsoundmanager \ +" + +PROVIDES_${PN} += "virtual/audio-framework" diff --git a/meta-hmi-framework/recipes-multimedia/agl-service-soundmanager-2017/agl-service-soundmanager-2017_git.bb b/meta-hmi-framework/recipes-multimedia/agl-service-soundmanager-2017/agl-service-soundmanager-2017_git.bb deleted file mode 100644 index 9f9e5643..00000000 --- a/meta-hmi-framework/recipes-multimedia/agl-service-soundmanager-2017/agl-service-soundmanager-2017_git.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Sound Manager binding" -DESCRIPTION = "Sound Manager is the service binding to communicate \ - with Genivi Audio Manager. Genivi Audio Manager is \ - the policy manager for sound. It controls volume \ - and routing according to various situations. \ - " -HOMEPAGE = "https://wiki.automotivelinux.org/soundmanager" -SECTION = "multimedia" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" - -DEPENDS = "dbus glib-2.0 af-binder json-c" -RDEPENDS_${PN} = "audiomanager audiomanager-plugins" - -inherit cmake aglwgt - -SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/agl-service-soundmanager-2017;protocol=https;branch=${AGL_BRANCH}" -SRCREV = "71e9700fe906fff4f111bc70d025912ee5dd095a" -S = "${WORKDIR}/git" diff --git a/meta-hmi-framework/recipes-multimedia/libsoundmanager/libsoundmanager_git.bb b/meta-hmi-framework/recipes-multimedia/libsoundmanager/libsoundmanager_git.bb deleted file mode 100644 index e6943701..00000000 --- a/meta-hmi-framework/recipes-multimedia/libsoundmanager/libsoundmanager_git.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Sound Manager client library for applications" -DESCRIPTION = "Sound Manager client library for applications built with recipe" -HOMEPAGE = "https://wiki.automotivelinux.org/soundmanager" -SECTION = "multimedia" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" - -DEPENDS = "af-binder json-c" -RDEPENDS_${PN} = "agl-service-soundmanager-2017" - -inherit cmake - -SRC_URI = "git://gerrit.automotivelinux.org/gerrit/staging/libsoundmanager.git;protocol=https;branch=${AGL_BRANCH}" -SRCREV = "cda4a958e85d397bae142fbe6068a3e17d4aa935" -S = "${WORKDIR}/git" diff --git a/templates/feature/agl-audio-soundmanager-framework/50_bblayers.conf.inc b/templates/feature/agl-audio-soundmanager-framework/50_bblayers.conf.inc new file mode 100644 index 00000000..2ab00c61 --- /dev/null +++ b/templates/feature/agl-audio-soundmanager-framework/50_bblayers.conf.inc @@ -0,0 +1,5 @@ + +BBLAYERS =+ " \ + ${METADIR}/meta-agl-devel/meta-audio-soundmanager-framework \ + " + diff --git a/templates/feature/agl-audio-soundmanager-framework/50_local.conf.inc b/templates/feature/agl-audio-soundmanager-framework/50_local.conf.inc new file mode 100644 index 00000000..908ece39 --- /dev/null +++ b/templates/feature/agl-audio-soundmanager-framework/50_local.conf.inc @@ -0,0 +1,4 @@ +DISTRO_FEATURES_append = " agl-audio-soundmanager-framework" +PREFERRED_PROVIDER_virtual/audio-framework = "agl-service-audio-soundmanager" +PREFERRED_PROVIDER_virtual/pulseaudio-config = "pulseaudio-config-soundmanager" +PREFERRED_PROVIDER_virtual/audiomanager-plugins-config = "audiomanager-plugins-config-soundmanager" -- cgit 1.2.3-korg