diff options
author | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2019-06-09 23:11:58 +0200 |
---|---|---|
committer | build.automotivelinux.org <jenkins@automotivelinux.org> | 2019-06-11 15:42:20 +0200 |
commit | 910541b2b933f4a437ea83ec3ec19242a41a3630 (patch) | |
tree | 4522d3b2b1ecf771b712f8478118ed84e8e49974 /meta-audio-soundmanager-framework | |
parent | 5e28b182790ce38cb769949a5f2f9c649b6978c6 (diff) |
Supporting commits for the switch to pipewire
We move all components around meta-audio-soundmanager-framework to that layer (still kept on request).
We deprecate the meta-audio-4a-framework layer for Happy Halibut.
Bug-AGL: SPEC-2473
Change-Id: I2a7c9d815801a3f8ea80943165ea6fd1422533ea
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-audio-soundmanager-framework')
20 files changed, 1249 insertions, 0 deletions
diff --git a/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-with-systemd-209.patch b/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-with-systemd-209.patch new file mode 100644 index 00000000..5bf6bf88 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-with-systemd-209.patch @@ -0,0 +1,30 @@ +From 8080b7395c1638baee60fb3c46667f21e00b87fb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Erik=20Bot=C3=B6?= <erik.boto@pelagicore.com> +Date: Fri, 4 Apr 2014 10:59:18 +0200 +Subject: [PATCH 1/4] Fix build with systemd >= 209 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [Configuration Specific] +Signed-off-by: Erik Botö <erik.boto@pelagicore.com> +--- + src/system/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/system/CMakeLists.txt b/src/system/CMakeLists.txt +index ce87914..1d0d224 100644 +--- a/src/system/CMakeLists.txt ++++ b/src/system/CMakeLists.txt +@@ -23,7 +23,7 @@ set(dlt_system_SRCS dlt-system.c dlt-system-options.c dlt-system-process-handlin + dlt-system-syslog.c dlt-system-watchdog.c dlt-system-journal.c) + add_executable(dlt-system ${dlt_system_SRCS} ${systemd_SRCS}) + if(WITH_SYSTEMD_JOURNAL) +- target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES} systemd-journal systemd-id128) ++ target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES} systemd) + else(WITH_SYSTEMD_JOURNAL) + target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES}) + endif(WITH_SYSTEMD_JOURNAL) +-- +1.9.3 + diff --git a/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch b/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch new file mode 100644 index 00000000..16884799 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch @@ -0,0 +1,81 @@ +From bcca4c99394ba422d03a5e76f2a0023ef248824a Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan <andrei.gherzan@windriver.com> +Date: Tue, 18 Nov 2014 15:47:22 +0100 +Subject: [PATCH 2/4] Don't execute processes as a specific user. + +Upstream-Status: Inappropriate [Configuration Specific] +Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com> +--- + systemd/dlt-adaptor-udp.service.cmake | 1 - + systemd/dlt-example-user.service.cmake | 1 - + systemd/dlt-receive.service.cmake | 1 - + systemd/dlt-system.service.cmake | 1 - + systemd/dlt.service.cmake | 1 - + 5 files changed, 5 deletions(-) + +diff --git a/systemd/dlt-adaptor-udp.service.cmake b/systemd/dlt-adaptor-udp.service.cmake +index 8dac1f2..ecf9f9e 100644 +--- a/systemd/dlt-adaptor-udp.service.cmake ++++ b/systemd/dlt-adaptor-udp.service.cmake +@@ -21,9 +21,8 @@ Wants=dlt.service + + [Service] + Type=simple +-User=@DLT_USER@ + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-adaptor-udp -a @DLT_ADAPTOR_UDP_APPID@ -c @DLT_ADAPTOR_UDP_CTID@ -p @DLT_ADAPTOR_UDP_PORT@ + LimitCORE=infinity + + [Install] +-WantedBy=multi-user.target +\ No newline at end of file ++WantedBy=multi-user.target +diff --git a/systemd/dlt-example-user.service.cmake b/systemd/dlt-example-user.service.cmake +index b665742..35009b0 100644 +--- a/systemd/dlt-example-user.service.cmake ++++ b/systemd/dlt-example-user.service.cmake +@@ -21,6 +21,5 @@ Wants=dlt.service + + [Service] + Type=simple +-User=@DLT_USER@ + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-example-user "Hallo from GENIVI DLT example user application" +-LimitCORE=infinity +\ No newline at end of file ++LimitCORE=infinity +diff --git a/systemd/dlt-receive.service.cmake b/systemd/dlt-receive.service.cmake +index c07d447..8f88f00 100644 +--- a/systemd/dlt-receive.service.cmake ++++ b/systemd/dlt-receive.service.cmake +@@ -22,6 +22,5 @@ Wants=dlt.service + + [Service] + Type=simple +-User=@DLT_USER@ + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-receive -o /tmp/dlt_receive_log.dlt localhost +-LimitCORE=infinity +\ No newline at end of file ++LimitCORE=infinity +diff --git a/systemd/dlt-system.service.cmake b/systemd/dlt-system.service.cmake +index 0e91f42..1a5b913 100755 +--- a/systemd/dlt-system.service.cmake ++++ b/systemd/dlt-system.service.cmake +@@ -22,7 +22,6 @@ Wants=dlt.service + + [Service] + Type=simple +-User=@DLT_USER@ + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-system + WatchdogSec=@DLT_WatchdogSec@ + NotifyAccess=main +diff --git a/systemd/dlt.service.cmake b/systemd/dlt.service.cmake +index 0b3ee2c..e4753a2 100755 +--- a/systemd/dlt.service.cmake ++++ b/systemd/dlt.service.cmake +@@ -21,7 +21,6 @@ Documentation=man:dlt-daemon(1) man:dlt.conf(5) + + [Service] + Type=simple +-User=@DLT_USER@ + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-daemon + WatchdogSec=@DLT_WatchdogSec@ + NotifyAccess=main diff --git a/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon/0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch b/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon/0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch new file mode 100644 index 00000000..691a5002 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon/0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch @@ -0,0 +1,98 @@ +From 6804c68ed61f4436818c58cb0abe1c21b4d48aea Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan <andrei.gherzan@windriver.com> +Date: Tue, 18 Nov 2014 15:48:50 +0100 +Subject: [PATCH 3/4] systemd/*: unit type should be in lowercase, so use + Type=simple + +Upstream-Status: Submitted [http://lists.genivi.org/pipermail/genivi-diagnostic-log-and-trace/2014-October/000546.html] +Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com> +--- + systemd/dlt-adaptor-udp.service.cmake | 2 +- + systemd/dlt-dbus.service.cmake | 2 +- + systemd/dlt-example-user.service.cmake | 2 +- + systemd/dlt-receive.service.cmake | 2 +- + systemd/dlt-system.service.cmake | 2 +- + systemd/dlt.service.cmake | 2 +- + 6 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/systemd/dlt-adaptor-udp.service.cmake b/systemd/dlt-adaptor-udp.service.cmake +index f446757..81a7158 100644 +--- a/systemd/dlt-adaptor-udp.service.cmake ++++ b/systemd/dlt-adaptor-udp.service.cmake +@@ -19,7 +19,7 @@ Description=GENIVI DLT adaptor stdin. Adaptor for forwarding received UDP messag + Wants=dlt.service + + [Service] +-Type=Simple ++Type=simple + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-adaptor-udp -a @DLT_ADAPTOR_UDP_APPID@ -c @DLT_ADAPTOR_UDP_CTID@ -p @DLT_ADAPTOR_UDP_PORT@ + LimitCORE=infinity + +diff --git a/systemd/dlt-dbus.service.cmake b/systemd/dlt-dbus.service.cmake +index d1e3b12..75dcdc3 100755 +--- a/systemd/dlt-dbus.service.cmake ++++ b/systemd/dlt-dbus.service.cmake +@@ -20,7 +20,7 @@ Documentation=man:dlt-dbus(1) man:dlt-dbus.conf(5) + Wants=dlt.service
+
+ [Service]
+-Type=Simple
++Type=simple
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-dbus
+ WatchdogSec=@DLT_WatchdogSec@
+ NotifyAccess=main
+diff --git a/systemd/dlt-example-user.service.cmake b/systemd/dlt-example-user.service.cmake +index b67a83c..fe9c567 100644 +--- a/systemd/dlt-example-user.service.cmake ++++ b/systemd/dlt-example-user.service.cmake +@@ -19,6 +19,6 @@ Description=GENIVI DLT example user. Generate DLT messages and store them to fil + Wants=dlt.service + + [Service] +-Type=Simple ++Type=simple + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-example-user "Hallo from GENIVI DLT example user application" + LimitCORE=infinity +\ No newline at end of file +diff --git a/systemd/dlt-receive.service.cmake b/systemd/dlt-receive.service.cmake +index 4bbdfc2..3b47dd3 100644 +--- a/systemd/dlt-receive.service.cmake ++++ b/systemd/dlt-receive.service.cmake +@@ -20,6 +20,6 @@ Documentation=man:dlt-receive(1) + Wants=dlt.service + + [Service] +-Type=Simple ++Type=simple + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-receive -o /tmp/dlt_receive_log.dlt localhost + LimitCORE=infinity +\ No newline at end of file +diff --git a/systemd/dlt-system.service.cmake b/systemd/dlt-system.service.cmake +index 7ec995c..d4a4c96 100755 +--- a/systemd/dlt-system.service.cmake ++++ b/systemd/dlt-system.service.cmake +@@ -20,7 +20,7 @@ Documentation=man:dlt-system(1) man:dlt-system.conf(5) + Wants=dlt.service
+
+ [Service]
+-Type=Simple
++Type=simple
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-system
+ WatchdogSec=@DLT_WatchdogSec@
+ NotifyAccess=main
+diff --git a/systemd/dlt.service.cmake b/systemd/dlt.service.cmake +index 7bb05bc..5386ffd 100755 +--- a/systemd/dlt.service.cmake ++++ b/systemd/dlt.service.cmake +@@ -19,7 +19,7 @@ Description=GENIVI DLT logging daemon + Documentation=man:dlt-daemon(1) man:dlt.conf(5) + + [Service] +-Type=Simple ++Type=simple + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-daemon + WatchdogSec=@DLT_WatchdogSec@ + NotifyAccess=main +-- +1.9.3 + diff --git a/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch b/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch new file mode 100644 index 00000000..685dfcdd --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch @@ -0,0 +1,24 @@ +From 9a5e655cf57301008cd61d53c8a410a7f397e650 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan <andrei.gherzan@windriver.com> +Date: Tue, 18 Nov 2014 15:51:30 +0100 +Subject: [PATCH 4/4] Modify systemd config directory + +Upstream-Status: Inappropriate [Configuration Specific] +Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com> +--- + systemd/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e6b44a2..0e885bf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -175,7 +175,7 @@ if(WITH_SYSTEMD OR WITH_SYSTEMD_WATCHDOG OR WITH_SYSTEMD_JOURNAL) + + set( systemd_SRCS ${CMAKE_SOURCE_DIR}/systemd/3rdparty/sd-daemon.c) + +- set(SYSTEMD_UNITDIR "${CMAKE_INSTALL_PREFIX}/lib/systemd/system" CACHE PATH ++ set(SYSTEMD_UNITDIR "/lib/systemd/system" CACHE PATH + "Set directory to install systemd unit files") + + add_subdirectory( systemd ) diff --git a/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon_2.11.1.bb b/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon_2.11.1.bb new file mode 100644 index 00000000..b521bca9 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon_2.11.1.bb @@ -0,0 +1,54 @@ +SUMMARY = "Diagnostic Log and Trace" +DESCRIPTION = "This component provides a standardised log and trace interface, \ +based on the standardised protocol specified in the AUTOSAR standard 4.0 DLT. \ +This component can be used by GENIVI components and other applications as \ +logging facility providing: \ +- the DLT shared library \ +- the DLT daemon, including startup scripts \ +- the DLT daemon adaptors- the DLT client console utilities \ +- the DLT test applications" +HOMEPAGE = "https://www.genivi.org/" +SECTION = "console/utils" +LICENSE = "MPLv2" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=99ba60c3fad7eaf8c56bca6dd75cba09 \ + file://MPL.txt;md5=ccdb2761cef70c8b2612624c323f89dc" + +DEPENDS = "dbus zlib pigz-native" +do_unpack[depends] += "pigz-native:do_populate_sysroot" + +# FIX ME +# This should be TAG = "v${PV}" but yocto doesn't support lightweight tags for now +# https://bugzilla.yoctoproject.org/show_bug.cgi?id=6881 +TAG = "b8b3ea3a31f7deb681941a19878c82e7b7350ae7" +BRANCH = "v2.11.x" +SRC_URI = "git://git.projects.genivi.org/${PN}.git;branch=${BRANCH};tag=${TAG} \ + file://0001-Fix-build-with-systemd-209.patch \ + file://0002-Don-t-execute-processes-as-a-specific-user.patch \ + file://0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch \ + file://0004-Modify-systemd-config-directory.patch" +S = "${WORKDIR}/git" + +inherit autotools gettext cmake systemd + +# -fPIC is needed to prevent relocation errors when we compile gtest with +# Yocto security flags. See this issue for more details: +# +# https://github.com/google/googletest/issues/854 +# +# If that issue is fixed, we can probably remove the manual -fPIC flags here. +OECMAKE_C_FLAGS += "-fPIC" +OECMAKE_CXX_FLAGS += "-fPIC" + +PACKAGES += "${PN}-systemd" +SYSTEMD_PACKAGES = "${PN} ${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "dlt-system.service dlt.service" +SYSTEMD_AUTO_ENABLE_${PN} = "enable" +SYSTEMD_SERVICE_${PN}-systemd = "dlt-example-user.service \ + dlt-dbus.service \ + dlt-adaptor-udp.service \ + dlt-receive.service" +SYSTEMD_AUTO_ENABLE_${PN}-systemd = "disable" + +EXTRA_OECMAKE = "-DWITH_SYSTEMD=ON" + +FILES_${PN}-doc += "/usr/share/dlt-filetransfer" diff --git a/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon_2.15.0.bb b/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon_2.15.0.bb new file mode 100644 index 00000000..dbc87c9a --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-extended/dlt-daemon/dlt-daemon_2.15.0.bb @@ -0,0 +1,52 @@ +SUMMARY = "Diagnostic Log and Trace" +DESCRIPTION = "This component provides a standardised log and trace interface, \ +based on the standardised protocol specified in the AUTOSAR standard 4.0 DLT. \ +This component can be used by GENIVI components and other applications as \ +logging facility providing: \ +- the DLT shared library \ +- the DLT daemon, including startup scripts \ +- the DLT daemon adaptors- the DLT client console utilities \ +- the DLT test applications" +HOMEPAGE = "https://www.genivi.org/" +SECTION = "console/utils" +LICENSE = "MPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8184208060df880fe3137b93eb88aeea" + +DEPENDS = "dbus zlib pigz-native" +do_unpack[depends] += "pigz-native:do_populate_sysroot" + +SRCREV = "e9a486a08fff6d3cc7133a350cec3ee10f463207" +SRC_URI = "git://git.projects.genivi.org/${BPN}.git;protocol=http \ + file://0002-Don-t-execute-processes-as-a-specific-user.patch \ + file://0004-Modify-systemd-config-directory.patch \ + " +S = "${WORKDIR}/git" + +inherit autotools gettext cmake systemd + +# -fPIC is needed to prevent relocation errors when we compile gtest with +# Yocto security flags. See this issue for more details: +# +# https://github.com/google/googletest/issues/854 +# +# If that issue is fixed, we can probably remove the manual -fPIC flags here. +OECMAKE_C_FLAGS += "-fPIC" +OECMAKE_CXX_FLAGS += "-fPIC" + +PACKAGES += "${PN}-systemd" +SYSTEMD_PACKAGES = "${PN} ${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "dlt-system.service dlt.service" +SYSTEMD_AUTO_ENABLE_${PN} = "enable" +SYSTEMD_SERVICE_${PN}-systemd = "dlt-example-user.service \ + dlt-dbus.service \ + dlt-adaptor-udp.service \ + dlt-receive.service" +SYSTEMD_AUTO_ENABLE_${PN}-systemd = "disable" + +EXTRA_OECMAKE = "-DWITH_SYSTEMD=ON" + +FILES_${PN}-doc += "/usr/share/dlt-filetransfer" + +do_install_append() { + rm -f ${D}${bindir}/dlt-test-* +} diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/amcp_dbus.conf b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/amcp_dbus.conf new file mode 100644 index 00000000..49544d5e --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/amcp_dbus.conf @@ -0,0 +1,20 @@ +<!-- This configuration file specifies the required security policies +to use the audiomanager command d-bus plugin interface. --> + +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" +"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + <!-- ../system.conf have denied everything, so we just punch some holes --> + <policy user="root"> + <allow own="org.genivi.audiomanager"/> + <allow own="org.genivi.audiomanager.command"/> + <allow send_destination="org.genivi.audiomanager"/> + <allow send_destination="org.genivi.audiomanager.command"/> + </policy> + <policy at_console="true"> + <allow send_destination="org.genivi.audiomanager"/> + </policy> + <policy context="default"> + <allow send_destination="org.genivi.audiomanager"/> + </policy> +</busconfig> diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/amrp_dbus.conf b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/amrp_dbus.conf new file mode 100644 index 00000000..6832d305 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/amrp_dbus.conf @@ -0,0 +1,21 @@ +<!-- This configuration file specifies the required security policies +to use the audiomanager routing d-bus plugin interface. --> + +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" +"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + <!-- ../system.conf have denied everything, so we just punch some holes --> + <policy user="root"> + <allow own="org.genivi.audiomanager"/> + <allow own="org.genivi.audiomanager.routing"/> + <allow send_destination="org.genivi.audiomanager"/> + <allow send_destination="org.genivi.audiomanager.routing"/> + </policy> + <policy at_console="true"> + <allow send_destination="org.genivi.audiomanager"/> + </policy> + <policy context="default"> + <allow send_destination="org.genivi.audiomanager"/> + </policy> +</busconfig> + diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/configuration.xml b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/configuration.xml new file mode 100644 index 00000000..9e2d05ee --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/configuration.xml @@ -0,0 +1,522 @@ +<?xml version="1.0" encoding="UTF-8"?> +<c:configuration xmlns:c="controller" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="controller audiomanagertypes.xsd "> + <listSources> + <source> + <id>0</id> + <domainName>UNKNOWN</domainName> + <name>SourceTemplate</name> + <volume>0</volume> + <visible>TRUE</visible> + <className>UNKNOWN</className> + <sourceState>SS_OFF</sourceState> + <connectionFormat>CF_GENIVI_STEREO</connectionFormat> + <connectionFormat>CF_GENIVI_MONO</connectionFormat> + <interruptState>IS_OFF</interruptState> + <availability> + <availability>A_AVAILABLE</availability> + <availabilityReason>AR_UNKNOWN</availabilityReason> + </availability> + <soundProperty> + <type>SP_GENIVI_TREBLE</type> + <value minValue="0" maxValue="10">5</value> + </soundProperty> + <soundProperty> + <type>SP_GENIVI_MID</type> + <value minValue="0" maxValue="10">5</value> + </soundProperty> + <soundProperty> + <type>SP_GENIVI_BASS</type> + <value minValue="0" maxValue="10">5</value> + </soundProperty> + <mainSoundProperty> + <type>MSP_GENIVI_TREBLE</type> + <value minValue="0" maxValue="10">5</value> + </mainSoundProperty> + <mainSoundProperty> + <type>MSP_GENIVI_MID</type> + <value minValue="0" maxValue="10">5</value> + </mainSoundProperty> + <mainSoundProperty> + <type>MSP_GENIVI_BASS</type> + <value minValue="0" maxValue="10">5</value> + </mainSoundProperty> + <registrationType>REG_TEMPLATE</registrationType> + <isVolumeSupported>TRUE</isVolumeSupported> + <priority>1</priority> + <listMainSoundPropertiesToSoundProperties> + <mapEntry>MSP_UNKNOWN,SP_UNKNOWN</mapEntry> + <mapEntry>MSP_GENIVI_TREBLE,SP_GENIVI_TREBLE</mapEntry> + </listMainSoundPropertiesToSoundProperties> + </source> + <source baseName="SourceTemplate"> + <id>1</id> + <domainName>PulseAudio</domainName> + <name>mediaplayer</name> + <className>BASE</className> + <registrationType>REG_ROUTER</registrationType> + </source> + <source baseName="SourceTemplate"> + <id>2</id> + <domainName>PulseAudio</domainName> + <name>ALSA#Playback</name> + <className>BASE</className> + <registrationType>REG_ROUTER</registrationType> + </source> + <source baseName="SourceTemplate"> + <id>3</id> + <domainName>PulseAudio</domainName> + <name>music</name> + <className>BASE</className> + <registrationType>REG_ROUTER</registrationType> + </source> + <source baseName="SourceTemplate"> + <id>4</id> + <domainName>PulseAudio</domainName> + <name>Navi</name> + <className>INT</className> + <registrationType>REG_ROUTER</registrationType> + </source> + <source baseName="SourceTemplate"> + <id>5</id> + <domainName>PulseAudio</domainName> + <name>phone</name> + <className>PHONE</className> + <registrationType>REG_ROUTER</registrationType> + </source> + </listSources> + <listSinks> + <sink> + <id>0</id> + <domainName>UNKNOWN</domainName> + <name>SinkTemplate</name> + <volume>0</volume> + <visible>TRUE</visible> + <mainVolume>100</mainVolume> + <className>BASE</className> + <muteState>MS_UNMUTED</muteState> + <connectionFormat>CF_GENIVI_STEREO</connectionFormat> + <connectionFormat>CF_GENIVI_MONO</connectionFormat> + <availability> + <availability>A_AVAILABLE</availability> + <availabilityReason>AR_GENIVI_NEWMEDIA</availabilityReason> + </availability> + <soundProperty> + <type>SP_GENIVI_TREBLE</type> + <value minValue="0" maxValue="10">5</value> + </soundProperty> + <soundProperty> + <type>SP_GENIVI_MID</type> + <value minValue="0" maxValue="10">5</value> + </soundProperty> + <soundProperty> + <type>SP_GENIVI_BASS</type> + <value minValue="0" maxValue="10">5</value> + </soundProperty> + <mainSoundProperty> + <type>MSP_GENIVI_TREBLE</type> + <value minValue="0" maxValue="10">5</value> + </mainSoundProperty> + <mainSoundProperty> + <type>MSP_GENIVI_MID</type> + <value minValue="0" maxValue="10">5</value> + </mainSoundProperty> + <mainSoundProperty> + <type>MSP_GENIVI_BASS</type> + <value minValue="0" maxValue="10">5</value> + </mainSoundProperty> + <registrationType>REG_TEMPLATE</registrationType> + <isVolumeSupported>TRUE</isVolumeSupported> + <priority>1</priority> + <listMainVolumesToNormalizedVolumes> + <tableEntry>0,0.0</tableEntry> + <tableEntry>1,0.01</tableEntry> + <tableEntry>2,0.02</tableEntry> + <tableEntry>3,0.03</tableEntry> + <tableEntry>4,0.04</tableEntry> + <tableEntry>5,0.05</tableEntry> + <tableEntry>6,0.06</tableEntry> + <tableEntry>7,0.07</tableEntry> + <tableEntry>8,0.08</tableEntry> + <tableEntry>9,0.09</tableEntry> + <tableEntry>10,0.1</tableEntry> + <tableEntry>11,0.11</tableEntry> + <tableEntry>12,0.12</tableEntry> + <tableEntry>14,0.14</tableEntry> + <tableEntry>15,0.15</tableEntry> + <tableEntry>17,0.17</tableEntry> + <tableEntry>20,0.2</tableEntry> + <tableEntry>22,0.22</tableEntry> + <tableEntry>25,0.25</tableEntry> + <tableEntry>28,0.28</tableEntry> + <tableEntry>31,0.31</tableEntry> + <tableEntry>35,0.35</tableEntry> + <tableEntry>40,0.4</tableEntry> + <tableEntry>45,0.45</tableEntry> + <tableEntry>50,0.5</tableEntry> + <tableEntry>56,0.56</tableEntry> + <tableEntry>62,0.62</tableEntry> + <tableEntry>70,0.7</tableEntry> + <tableEntry>80,0.8</tableEntry> + <tableEntry>90,0.9</tableEntry> + <tableEntry>100,1.0</tableEntry> + </listMainVolumesToNormalizedVolumes> + <listNormalizedVolumesToDecibelVolumes> + <tableEntry>0.0,-192.0</tableEntry> + <tableEntry>0.01,-40.0</tableEntry> + <tableEntry>0.02,-34.0</tableEntry> + <tableEntry>0.03,-30.0</tableEntry> + <tableEntry>0.04,-27.0</tableEntry> + <tableEntry>0.05,-26.0</tableEntry> + <tableEntry>0.06,-24.0</tableEntry> + <tableEntry>0.07,-23.0</tableEntry> + <tableEntry>0.08,-22.0</tableEntry> + <tableEntry>0.09,-21.0</tableEntry> + <tableEntry>0.1,-20.0</tableEntry> + <tableEntry>0.11,-19.0</tableEntry> + <tableEntry>0.12,-18.0</tableEntry> + <tableEntry>0.14,-17.0</tableEntry> + <tableEntry>0.15,-16.0</tableEntry> + <tableEntry>0.17,-15.0</tableEntry> + <tableEntry>0.2,-14.0</tableEntry> + <tableEntry>0.22,-13.0</tableEntry> + <tableEntry>0.25,-12.0</tableEntry> + <tableEntry>0.28,-11.0</tableEntry> + <tableEntry>0.31,-10.0</tableEntry> + <tableEntry>0.35,-9.0</tableEntry> + <tableEntry>0.4,-8.0</tableEntry> + <tableEntry>0.45,-7.0</tableEntry> + <tableEntry>0.5,-6.0</tableEntry> + <tableEntry>0.56,-5.0</tableEntry> + <tableEntry>0.62,-4.0</tableEntry> + <tableEntry>0.7,-3.0</tableEntry> + <tableEntry>0.8,-2.0</tableEntry> + <tableEntry>0.9,-1.0</tableEntry> + <tableEntry>1.0,0.0</tableEntry> + </listNormalizedVolumesToDecibelVolumes> + <listMainSoundPropertiesToSoundProperties> + <mapEntry>MSP_UNKNOWN,SP_UNKNOWN</mapEntry> + <mapEntry>MSP_GENIVI_TREBLE,SP_GENIVI_TREBLE</mapEntry> + </listMainSoundPropertiesToSoundProperties> + </sink> + <sink baseName="SinkTemplate"> + <id>1</id> + <domainName>PulseAudio</domainName> + <name>rsnd-dai.0-ak4642-hifi#Analog#Stereo</name> + <className>BASE</className> + <registrationType>REG_ROUTER</registrationType> + </sink> + <sink baseName="SinkTemplate"> + <id>2</id> + <domainName>PulseAudio</domainName> + <name>Microchip#MOST:0#Multichannel</name> + <className>BASE</className> + <registrationType>REG_ROUTER</registrationType> + </sink> + </listSinks> + <listGateways> + <!-- This is a single domain example, therefore no gateway is present --> + </listGateways> + <listDomains> + <domain> + <id>0</id> + <name>PulseAudio</name> + <busName>org.genivi.audiomanager</busName> + <nodeName>pulseaudio</nodeName> + <early>FALSE</early> + <complete>TRUE</complete> + <state>DS_CONTROLLED</state> + <registrationType>REG_ROUTER</registrationType> + </domain> + </listDomains> + <listClasses> + <class> + <name>BASE</name> + <type>C_PLAYBACK</type> + <priority>1</priority> + <topology>Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=mediaplayer^music^ALSA#Playback</topology> + </class> + <class> + <name>INT</name> + <type>C_PLAYBACK</type> + <priority>2</priority> + <topology>Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=Navi</topology> + </class> + <class> + <name>PHONE</name> + <type>C_PLAYBACK</type> + <priority>3</priority> + <topology>Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=phone</topology> + </class> + </listClasses> + <listPolicies> +<!--Connect Policy Start--> +<!--BASE Policy--> + <policy> + <trigger>USER_CONNECTION_REQUEST</trigger> + <process> + <condition>name(CLASS, REQUESTING) EQ "BASE"</condition> + <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition> + <action> + <type>ACTION_SUSPEND</type> + <param> + <className>"BASE"</className> + <connectionState>CS_CONNECTED</connectionState> + </param> + </action> + </process> + </policy> +<!--INT policy--> + <policy> + <trigger>USER_CONNECTION_REQUEST</trigger> + <process> + <condition>name(CLASS, REQUESTING) EQ "INT"</condition> + <action> + <type>ACTION_LIMIT</type> + <param> + <className>"BASE"</className> + <volume>-1000</volume> + <pattern>01</pattern> + </param> + </action> + </process> + <process> + <condition>name(CLASS, REQUESTING) EQ "INT"</condition> + <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition> + <condition>priority(CONNECTIONOFCLASS, REQUESTING, OTHERS) LT priority(CONNECTION, REQUESTING)</condition> + <action> + <type>ACTION_PUSH</type> + <param> + <className>"INT"</className> + <order>O_NEWEST</order> + </param> + </action> + <break>TRUE</break> + </process> + <process> + <condition>name(CLASS, REQUESTING) EQ "INT"</condition> + <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition> + <action> + <type>ACTION_PUSH</type> + <param> + <className>"INT"</className> + <order>O_OLDEST</order> + </param> + </action> + </process> + <process> + <condition>name(CLASS, REQUESTING) EQ "INT"</condition> + <condition>connectionState(CONNECTIONOFCLASS, "PHONE") INC CS_CONNECTED</condition> + <action> + <type>ACTION_MUTE</type> + <param> + <className>REQUESTING</className> + </param> + </action> + <action> + <type>ACTION_CONNECT</type> + <param> + <className>REQUESTING</className> + </param> + </action> + <break>TRUE</break> + </process> + </policy> +<!--PHONE policy--> + <policy> + <trigger>USER_CONNECTION_REQUEST</trigger> + <process> + <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition> + <action> + <type>ACTION_LIMIT</type> + <param> + <className>"BASE"</className> + <volume>-1000</volume> + <pattern>02</pattern> + </param> + </action> + </process> + <process> + <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition> + <condition>connectionState(CONNECTIONOFCLASS, "INT") INC CS_CONNECTED</condition> + <action> + <type>ACTION_MUTE</type> + <param> + <className>"INT"</className> + </param> + </action> + </process> + <process> + <condition>name(SINK, REQUESTING) EQ "AMP"</condition> + <action> + <type>ACTION_CONNECT</type> + <param> + <className>REQUESTING</className> + <timeOut>5000</timeOut> + </param> + </action> + <break>TRUE</break> + </process> + </policy> +<!--Connect policy end--> +<!--Disconnect policy start--> + <policy> + <trigger>USER_DISCONNECTION_REQUEST</trigger> + <process> + <action> + <type>ACTION_DISCONNECT</type> + <param> + <sourceName>REQUESTING</sourceName> + <sinkName>REQUESTING</sinkName> + </param> + </action> + </process> + <process> + <condition>name(CLASS, REQUESTING) EQ "INT"</condition> + <action> + <type>ACTION_UNLIMIT</type> + <param> + <className>"BASE"</className> + <pattern>01</pattern> + </param> + </action> + </process> + <process> + <condition>name(CLASS, REQUESTING) EQ "INT"</condition> + <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition> + <action> + <type>ACTION_POP</type> + <param> + <className>"INT"</className> + <order>O_OLDEST</order> + </param> + </action> + </process> + <process> + <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition> + <condition>connectionState(CONNECTIONOFCLASS, "INT") INC CS_CONNECTED</condition> + <action> + <type>ACTION_UNMUTE</type> + <param> + <className>"INT"</className> + </param> + </action> + </process> + <process> + <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition> + <action> + <type>ACTION_UNLIMIT</type> + <param> + <className>"BASE"</className> + <pattern>02</pattern> + </param> + </action> + </process> + <process> + <condition>name(CLASS, REQUESTING) EQ "BASE"</condition> + <condition>connectionState(CONNECTIONOFCLASS, "BASE") INC CS_SUSPENDED</condition> + <action> + <type>ACTION_RESUME</type> + <param> + <className>"BASE"</className> + <connectionState>CS_SUSPENDED</connectionState> + </param> + </action> + </process> + </policy> +<!-- default volume policy start --> + <policy> + <trigger>USER_SET_VOLUME</trigger> + <process> + <action> + <type>ACTION_SET_VOLUME</type> + <param> + <sinkName>REQUESTING</sinkName> + </param> + </action> + </process> + </policy> +<!-- default volume policy end --> +<!-- default mute policy start --> + <policy> + <trigger>USER_SET_SINK_MUTE_STATE</trigger> + <process> + <condition>muteState(USER,REQUESTING) EQ MS_MUTED</condition> + <action> + <type>ACTION_MUTE</type> + <param> + <sinkName>REQUESTING</sinkName> + </param> + </action> + </process> + <process> + <condition>muteState(USER,REQUESTING) EQ MS_UNMUTED</condition> + <action> + <type>ACTION_UNMUTE</type> + <param> + <sinkName>REQUESTING</sinkName> + </param> + </action> + </process> + </policy> +<!-- default mute policy end --> +<!-- default set sink sound property policy start --> + <policy> + <trigger>USER_SET_SINK_MAIN_SOUND_PROPERTY</trigger> + <process> + <action> + <type>ACTION_SET_PROPERTY</type> + <param> + <sinkName>REQUESTING</sinkName> + </param> + </action> + </process> + </policy> +<!-- default set sink sound property policy end --> +<!-- default set source sound property policy start --> + <policy> + <trigger>USER_SET_SOURCE_MAIN_SOUND_PROPERTY</trigger> + <process> + <action> + <type>ACTION_SET_PROPERTY</type> + <param> + <sourceName>REQUESTING</sourceName> + </param> + </action> + </process> + </policy> +<!-- default set source sound property policy end --> +<!-- default connect policy start --> + <policy> + <trigger>USER_CONNECTION_REQUEST</trigger> + <process> + <action> + <type>ACTION_MUTE</type> + <param> + <className>REQUESTING</className> + <timeOut>5000</timeOut> + </param> + </action> + <action> + <type>ACTION_CONNECT</type> + <param> + <className>REQUESTING</className> + <timeOut>5000</timeOut> + </param> + </action> + <action> + <type>ACTION_UNMUTE</type> + <param> + <className>REQUESTING</className> + </param> + </action> + </process> + </policy> +<!-- default connect policy end --> + </listPolicies> + <listSystemProperties> + <systemProperty> + <type>SYP_DEBUG_LOG</type> + <value>5</value> + </systemProperty> + </listSystemProperties> +</c:configuration> diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/customtypes.xsd b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/customtypes.xsd new file mode 100644 index 00000000..2604fb71 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/customtypes.xsd @@ -0,0 +1,63 @@ +<?xml version="1.0"?>
+<xsd:schema targetNamespace="controller" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:c="controller">
+ <xsd:simpleType name="am_CustomAvailabilityReason_t">
+ <xsd:annotation>
+ <xsd:documentation>This enumeration list the source/sink availability change reason. </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="am_CustomSoundPropertyType_t">
+ <xsd:annotation>
+ <xsd:documentation>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.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="am_CustomConnectionFormat_t">
+ <xsd:annotation>
+ <xsd:documentation>This enumeration lists the connection format for the source and sinks.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="am_CustomNotificationType_t">
+ <xsd:annotation>
+ <xsd:documentation>This enumeration contains the type of notification possible.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="am_CustomSystemPropertyType_t">
+ <xsd:annotation>
+ <xsd:documentation>This enumeration lists the system properties.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="SYP_DEBUG_LOG">
+ <xsd:annotation>
+ <xsd:documentation>1 </xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="am_CustomRampType_t">
+ <xsd:restriction base="xsd:string">
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="am_CustomMainSoundPropertyType_t">
+ <xsd:annotation>
+ <xsd:documentation>This enumeration lists the Main Properties for source and sinks.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="am_SourceID_e">
+ <xsd:restriction base="xsd:string">
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="am_SinkID_e">
+ <xsd:restriction base="xsd:string">
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/org.genivi.audiomanager.routing.pulseaudio.conf b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/org.genivi.audiomanager.routing.pulseaudio.conf new file mode 100644 index 00000000..f77845a3 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config/org.genivi.audiomanager.routing.pulseaudio.conf @@ -0,0 +1,35 @@ +<!-- This configuration file specifies the required security policies + for routing adapter for KP audio server to work. --> + +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + + <!-- ../system.conf have denied everything, so we just punch some holes --> + + <policy user="root"> + <allow own="org.genivi.audiomanager.routing.pulseaudio"/> + <allow send_destination="org.genivi.audiomanager.routing.pulseaudio"/> + <allow send_interface="org.genivi.audiomanager.routing.pulseaudio"/> + <allow receive_sender="org.genivi.audiomanager.routing.pulseaudio"/> + </policy> + + <policy user="adit"> + <allow own="org.genivi.audiomanager.routing.pulseaudio"/> + <allow send_destination="org.genivi.audiomanager.routing.pulseaudio"/> + <allow send_interface="org.genivi.audiomanager.routing.pulseaudio"/> + <allow receive_sender="org.genivi.audiomanager.routing.pulseaudio"/> + </policy> + + <policy at_console="true"> + <allow own="org.genivi.audiomanager.routing.pulseaudio"/> + <allow send_destination="org.genivi.audiomanager.routing.pulseaudio"/> + <allow send_interface="org.genivi.audiomanager.routing.pulseaudio"/> + <allow receive_sender="org.genivi.audiomanager.routing.pulseaudio"/> + </policy> + + <policy context="default"> + <allow send_destination="org.genivi.audiomanager"/> + </policy> + +</busconfig> diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config_7.4.bb b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config_7.4.bb new file mode 100644 index 00000000..59d68f9a --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins-config/audiomanager-plugins-config_7.4.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "Configurations for Audiomanager Plugins for AGL Demo" +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://org.genivi.audiomanager.routing.pulseaudio.conf \ +" + +FILES_${PN} = " \ + ${sysconfdir}/dbus-1/system.d/amcp_dbus.conf \ + ${sysconfdir}/dbus-1/system.d/amrp_dbus.conf \ + ${sysconfdir}/dbus-1/system.d/org.genivi.audiomanager.routing.pulseaudio.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}/org.genivi.audiomanager.routing.pulseaudio.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/ +} + +RPROVIDES_${PN} = "virtual/audiomanager-plugins-config" diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins/audiomanager-plugins_git.bb b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins/audiomanager-plugins_git.bb new file mode 100644 index 00000000..9b099ebc --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager-plugins/audiomanager-plugins_git.bb @@ -0,0 +1,60 @@ +DESCRIPTION = "GENIVI Audio Manager Plugins" +HOMEPAGE = "http://projects.genivi.org/audio-manager/home" +LICENSE = "MPLv2" +SECTION = "multimedia" +DEPENDS = "audiomanager libxml2 dbus pulseaudio" + +LIC_FILES_CHKSUM = "file://PluginControlInterfaceGeneric/LICENSE.txt;md5=815ca599c9df247a0c7f619bab123dad" + +SRC_URI = " \ + git://github.com/tisogai/AudioManagerPlugins.git;protocol=https;branch=unknown_element_support \ + " + +SRCREV = "bf5c5e8198b85e84363770150d5a02f553f43296" + +S = "${WORKDIR}/git" +inherit cmake +OECMAKE_CXX_FLAGS += "-std=c++11" +EXTRA_OECMAKE = " \ + -DWITH_COMMAND_INTERFACE_CAPI=OFF \ + -DWITH_COMMAND_INTERFACE_DBUS=ON \ + -DWITH_ROUTING_INTERFACE_ASYNC=OFF \ + -DWITH_ROUTING_INTERFACE_CAPI=OFF \ + -DWITH_ROUTING_INTERFACE_DBUS=ON \ + -DWITH_TEST_CONTROLLER=OFF \ + -DWITH_GENERIC_CONTROLLER=ON \ + -DCONTROLLER_CONFIG_DIR="/etc/audiomanager/control" \ +" + +# NOTE: The specific product should have a separate customtypes.xsd +# and should be appended to FILES_${PN} in product specific +# audiomanager-generic-controller_git.bbappend +FILES_${PN} = " \ + ${libdir}/audiomanager/control/libPluginControlInterfaceGeneric.so \ + ${sysconfdir}/audiomanager/control/audiomanagertypes.xsd \ + ${libdir}/audiomanager/command/libPluginCommandInterfaceDbus.so \ + ${libdir}/audiomanager/routing/libPluginRoutingInterfaceDbus.so \ + /usr/share/audiomanager/audiomanager/CommandInterface.xml \ + /usr/share/audiomanager/audiomanager/RoutingReceiver.xml \ +" + +# NOTE: The specific product should have a separate customtypes.h +# and should be appended to FILES_${PN}-dev in product specific +# audiomanager-generic-controller_git.bbappend +FILES_${PN}-dev = " \ + ${sysconfdir}/audiomanager/control/xsd2header.pl \ +" + +FILES_${PN}-dbg += " \ + ${libdir}/audiomanager/control/.debug/libPluginControlInterfaceGeneric.so \ + ${libdir}/audiomanager/command/.debug/libPluginCommandInterfaceDbus.so \ + ${libdir}/audiomanager/routing/.debug/libPluginRoutingInterfaceDbus.so \ +" + +# remove example configurations +do_install_append() { + rm -rf ${D}${sysconfdir}/audiomanager/control/*.xml + rm -rf ${D}${sysconfdir}/audiomanager/control/customtypes.xsd +} + +RDEPENDS_${PN} = "virtual/audiomanager-plugins-config" diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager/audiomanager/0001-Fix-duplicated-command-line-arg-t.patch b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager/audiomanager/0001-Fix-duplicated-command-line-arg-t.patch new file mode 100644 index 00000000..fcdf9c54 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager/audiomanager/0001-Fix-duplicated-command-line-arg-t.patch @@ -0,0 +1,25 @@ +From c4b6030f575e38dfc9cca7dfd029d207f3af6a13 Mon Sep 17 00:00:00 2001 +From: "Andre Moreira Magalhaes (andrunko)" <andre.magalhaes@collabora.co.uk> +Date: Thu, 5 May 2016 00:01:19 -0300 +Subject: [PATCH] Fix duplicated command line arg -t. + +--- + AudioManagerDaemon/src/main.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/AudioManagerDaemon/src/main.cpp b/AudioManagerDaemon/src/main.cpp +index 795795d..67c0977 100755 +--- a/AudioManagerDaemon/src/main.cpp ++++ b/AudioManagerDaemon/src/main.cpp +@@ -87,7 +87,7 @@ TCLAP::ValueArg<std::string> commandPluginDir("l","CommandPluginDir","path for l + TCLAP::ValueArg<std::string> databasePath ("p","databasePath","path for sqlite database (default is in memory)",false,":memory:","string"); + TCLAP::ValueArg<unsigned int> telnetPort ("t","telnetport","The port that is used for telnet",false,DEFAULT_TELNETPORT,"int"); + TCLAP::ValueArg<unsigned int> maxConnections ("m","maxConnections","Maximal number of connections for telnet",false,MAX_TELNETCONNECTIONS,"int"); +-TCLAP::SwitchArg dbusWrapperTypeBool ("t","dbusType","DbusType to be used by CAmDbusWrapper: if option is selected, DBUS_SYSTEM is used otherwise DBUS_SESSION",false); ++TCLAP::SwitchArg dbusWrapperTypeBool ("T","dbusType","DbusType to be used by CAmDbusWrapper: if option is selected, DBUS_SYSTEM is used otherwise DBUS_SESSION",false); + TCLAP::SwitchArg enableNoDLTDebug ("V","logDlt","print DLT logs to stdout",false); + TCLAP::SwitchArg currentSettings("i","currentSettings","print current settings and exit",false); + TCLAP::SwitchArg daemonizeAM("d","daemonize","daemonize Audiomanager. Better use systemd...",false); +-- +2.5.0 + diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager/audiomanager/audiomanager.service b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager/audiomanager/audiomanager.service new file mode 100644 index 00000000..2210a377 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager/audiomanager/audiomanager.service @@ -0,0 +1,17 @@ +# AudioManager systemd service file + +[Unit] +Description=GENIVI AudioManager +Requires=dbus.service +After=dbus.service +Before=pulseaudio.service + +[Service] +Type=notify +ExecStart=/usr/bin/AudioManager -T +Restart=always +TimeoutSec=2 +WatchdogSec=2 + +[Install] +WantedBy=multi-user.target diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager/audiomanager_7.4.bb b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager/audiomanager_7.4.bb new file mode 100644 index 00000000..15eb3625 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/audiomanager/audiomanager_7.4.bb @@ -0,0 +1,56 @@ +DESCRIPTION = "GENIVI Audio Manager" +HOMEPAGE = "http://projects.genivi.org/audio-manager/home" +LICENSE = "MPLv2" +SECTION = "multimedia" +DEPENDS = "dbus dlt-daemon systemd" +LIC_FILES_CHKSUM = "file://LICENCE;md5=f164349b56ed530a6642e9b9f244eec5" + +SRC_URI = " \ + git://github.com/GENIVI/AudioManager.git;protocol=https;branch=master \ + file://audiomanager.service \ +" +RDEPENDS_${PN} = "audiomanager-plugins module-router" +SRCREV = "daf851ee7a41d1b0572c0c95e15f61e427ce97f1" + +S = "${WORKDIR}/git" +inherit cmake systemd +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "audiomanager.service" +SYSTEMD_AUTO_ENABLE = "enable" + +EXTRA_OECMAKE = " \ + -DWITH_TESTS=OFF \ + -DWITH_DOCUMENTATION=OFF \ + -DWITH_DLT=ON \ + -DWITH_TELNET=OFF \ + -DWITH_SYSTEMD_WATCHDOG=ON \ + -DGLIB_DBUS_TYPES_TOLERANT=ON \ + -DWITH_CAPI_WRAPPER=OFF \ + -DWITH_DBUS_WRAPPER=ON \ + -DWITH_SHARED_UTILITIES=ON \ + -DWITH_SHARED_CORE=ON \ +" + +FILES_${PN} = " \ + ${bindir}/AudioManager \ + ${libdir}/libAudioManagerCore.so.7 \ + ${libdir}/libAudioManagerCore.so.7.4 \ + ${libdir}/libAudioManagerCore.so.7.4.12 \ + ${libdir}/libAudioManagerUtilities.so.7 \ + ${libdir}/libAudioManagerUtilities.so.7.4 \ + ${libdir}/libAudioManagerUtilities.so.7.4.12 \ + ${systemd_unitdir}/audiomanager.service \ +" + +FILES_${PN}-dev = " \ + ${includedir}/audiomanager/* \ + ${libdir}/cmake/* \ + ${libdir}/pkgconfig/* \ + ${libdir}/libAudioManagerCore.so \ + ${libdir}/libAudioManagerUtilities.so \ +" + +do_install_append() { + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/audiomanager.service ${D}${systemd_unitdir}/system/ +} diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/module-router/module-router_git.bb b/meta-audio-soundmanager-framework/recipes-multimedia/module-router/module-router_git.bb new file mode 100755 index 00000000..cd52b68a --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/module-router/module-router_git.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "Pulseaudio router module" +HOMEPAGE = "https://github.com/tisogai/module-router" +LICENSE = "LGPLv2" +SECTION = "multimedia" +DEPENDS = "pulseaudio" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594" + +SRC_URI = " \ + git://github.com/tisogai/module-router.git;protocol=https;branch=master \ + " + +SRCREV = "8104a3174e6f54ace53066ab1797d9b9bd2bdf63" + +S = "${WORKDIR}/git" +inherit cmake +OECMAKE_CXX_FLAGS += "-std=c++11" + +# NOTE: The specific product should have a separate customtypes.xsd +# and should be appended to FILES_${PN} in product specific +# audiomanager-generic-controller_git.bbappend +FILES_${PN} = " \ + ${libdir}/pulse-*/modules/module-router.so \ +" + + +FILES_${PN}-dbg += " \ + ${libdir}/pulse-*/modules/.debug/module-router.so \ +" + + diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/pulseaudio-config-module-router/files/20-module-router.pa b/meta-audio-soundmanager-framework/recipes-multimedia/pulseaudio-config-module-router/files/20-module-router.pa new file mode 100644 index 00000000..4060feb4 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/pulseaudio-config-module-router/files/20-module-router.pa @@ -0,0 +1,3 @@ +.ifexists module-router.so +load-module module-router +.endif diff --git a/meta-audio-soundmanager-framework/recipes-multimedia/pulseaudio-config-module-router/pulseaudio-config-module-router_1.0.bb b/meta-audio-soundmanager-framework/recipes-multimedia/pulseaudio-config-module-router/pulseaudio-config-module-router_1.0.bb new file mode 100644 index 00000000..d7c2f68b --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-multimedia/pulseaudio-config-module-router/pulseaudio-config-module-router_1.0.bb @@ -0,0 +1,13 @@ +SUMMARY = "PulseAudio configuration to enable router module" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "file://20-module-router.pa" + +do_install () { + install -d ${D}${sysconfdir}/pulse/default.d + install -m 0644 ${WORKDIR}/20-module-router.pa ${D}${sysconfdir}/pulse/default.d/ +} + +RDEPENDS_${PN} = "module-router" +RPROVIDES_${PN} = "virtual/pulseaudio-config" diff --git a/meta-audio-soundmanager-framework/recipes-platform/packagegroups/packagegroup-agl-demo.bbappend b/meta-audio-soundmanager-framework/recipes-platform/packagegroups/packagegroup-agl-demo.bbappend new file mode 100644 index 00000000..a69cfb80 --- /dev/null +++ b/meta-audio-soundmanager-framework/recipes-platform/packagegroups/packagegroup-agl-demo.bbappend @@ -0,0 +1,4 @@ + +RDEPENDS_${PN} += " \ + audiomanager + " |