aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-audio-4a-framework/recipes-core/packagegroups/packagegroup-agl-audio.bb4
-rw-r--r--meta-audio-4a-framework/recipes-multimedia/4a-hal-config/4a-hal-config.bb4
-rw-r--r--meta-audio-4a-framework/recipes-multimedia/4a-hal-config/files/asound.conf.template121
-rw-r--r--meta-audio-4a-framework/recipes-multimedia/4a-hal-reference/4a-hal-reference_git.bb9
-rw-r--r--meta-audio-4a-framework/recipes-multimedia/agl-service-unicens/agl-service-unicens_git.bb18
-rw-r--r--meta-audio-4a-framework/recipes-platform/images/agl-demo-platform-crosssdk.bbappend1
-rw-r--r--meta-audio-4a-framework/recipes-support/mxml/files/0001-avoid-testing-library-in-cross-environments.patch31
-rw-r--r--meta-audio-4a-framework/recipes-support/mxml/files/0002-don-t-loose-our-LDFLAGS.patch31
-rw-r--r--meta-audio-4a-framework/recipes-support/mxml/mxml_2.10.bb33
-rw-r--r--meta-hmi-framework/recipes-platform/packagegroups/packagegroup-hmi-framework.bb2
-rw-r--r--templates/feature/agl-audio-4a-framework/50_local.conf.inc10
11 files changed, 214 insertions, 50 deletions
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 ec2c04d5..651af533 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
@@ -12,5 +12,7 @@ RDEPENDS_${PN} += "\
4a-alsa-core \
4a-hal-reference \
agl-service-audio-4a \
- virtual/4a-hal-config \
+ VIRTUAL-RUNTIME_alsa-state \
+ agl-service-unicens \
+ 4a-hal-unicens \
"
diff --git a/meta-audio-4a-framework/recipes-multimedia/4a-hal-config/4a-hal-config.bb b/meta-audio-4a-framework/recipes-multimedia/4a-hal-config/4a-hal-config.bb
index 32f42299..cfb3ff7c 100644
--- a/meta-audio-4a-framework/recipes-multimedia/4a-hal-config/4a-hal-config.bb
+++ b/meta-audio-4a-framework/recipes-multimedia/4a-hal-config/4a-hal-config.bb
@@ -12,12 +12,12 @@ SRC_URI = "file://asound.conf.template \
PV = "0.1"
-RPROVIDES_${PN} = "virtual/4a-hal-config"
+RPROVIDES_${PN} += "VIRTUAL-RUNTIME_alsa-state"
PACKAGE_ARCH = "${MACHINE_ARCH}"
AUDIO_DEV_NAME ?= "Speakers"
-AUDIO_DEV_NAME_ID ?= "usb-audio"
+AUDIO_DEV_NAME_ID ?= "0"
AUDIO_DEV_NAME_m3ulcb = "M3-Speakers"
AUDIO_DEV_NAME_ID_m3ulcb = "rsnddai0ak4613h"
diff --git a/meta-audio-4a-framework/recipes-multimedia/4a-hal-config/files/asound.conf.template b/meta-audio-4a-framework/recipes-multimedia/4a-hal-config/files/asound.conf.template
index 87e833da..fba7953f 100644
--- a/meta-audio-4a-framework/recipes-multimedia/4a-hal-config/files/asound.conf.template
+++ b/meta-audio-4a-framework/recipes-multimedia/4a-hal-config/files/asound.conf.template
@@ -1,10 +1,10 @@
+#AGL Audio High Level ALSA configuration
+#This define 2 sounds card with 8 audio roles each
+#The alsa soft volume control name must match with the HAL Control Name
-# ------------------------------------------------------
-# Mixer PCM allow to play multiple stream simultaneously
-# ------------------------------------------------------
pcm.@AUDIO_DEV_NAME@ {
type dmix
- slave {pcm "hw:@AUDIO_DEV_NAME_ID@"} #
+ slave {pcm "hw:@AUDIO_DEV_NAME_ID@"}
ipc_key 1001 # ipc_key should be unique to each dmix
}
@@ -16,38 +16,68 @@ pcm_hook_type.CtlHookPlugin {
lib "@INSTALL_PREFIX@/lib/policy_alsa_hook.so"
}
+pcm.Entertainment_Main {
+ type softvol
+ slave.pcm "@AUDIO_DEV_NAME@"
+ control{
+ name "Entertainment_Volume"
+ }
+}
-# -------------------------------------------------------
-# Define one Audio Virtual Channel per Audio Roles
-# -------------------------------------------------------
-pcm.MusicPCM {
- type softvol
-
- # Point Slave on HOOK for policies control
- slave.pcm "@AUDIO_DEV_NAME@"
-
- # name should match with HAL definition
- control.name "Playback Multimedia"
+pcm.Guidance_Main {
+ type softvol
+ slave.pcm "@AUDIO_DEV_NAME@"
+ control{
+ name "Guidance_Volume"
+ }
}
-pcm.NaviPCM {
- type softvol
+pcm.Communications_Main {
+ type softvol
+ slave.pcm "@AUDIO_DEV_NAME@"
+ control{
+ name "Communications_Volume"
+ }
+}
- # Point Slave on HOOK for policies control
- slave.pcm "@AUDIO_DEV_NAME@"
+pcm.Notification_Main {
+ type softvol
+ slave.pcm "@AUDIO_DEV_NAME@"
+ control{
+ name "Notification_Volume"
+ }
+}
- # name should match with HAL definition
- control.name "Playback Navigation"
+pcm.Warning_Main {
+ type softvol
+ slave.pcm "@AUDIO_DEV_NAME@"
+ control{
+ name "Warning_Volume"
+ }
}
-pcm.UrgentPCM {
- type softvol
+pcm.System_Main {
+ type softvol
+ slave.pcm "@AUDIO_DEV_NAME@"
+ control{
+ name "System_Volume"
+ }
+}
- # Point Slave on HOOK for policies control
- slave.pcm "@AUDIO_DEV_NAME@"
+pcm.Startup_Main {
+ type softvol
+ slave.pcm "@AUDIO_DEV_NAME@"
+ control{
+ name "Startup_Volume"
+ }
+}
- # name should match with HAL definition
- control.name "Playback Emergency"
+pcm.Shutdown_Main {
+ type softvol
+ slave.pcm "@AUDIO_DEV_NAME@"
+ control{
+ name "Shutdown_Volume"
+ }
}
# ----------------------------------------------------
@@ -55,7 +85,7 @@ pcm.UrgentPCM {
# ----------------------------------------------------
pcm.Multimedia {
type hooks
- slave {pcm "MusicPCM"}
+ slave {pcm "Entertainment_Main"}
hooks.0 {
comment "Defined used hook sharelib and provide arguments/config to install func"
type "CtlHookPlugin"
@@ -65,7 +95,7 @@ pcm.Multimedia {
verbose true
# uri to audio-4a policy engine
- uri="unix:/var/tmp/pol4a"
+ uri="unix:/run/user/0/apis/ws/ahl-4a"
# timeout in ms (default 500)
timeout 5000
@@ -75,28 +105,32 @@ pcm.Multimedia {
# api subcall to request a role
request {
- multimedia-role "{'uid':'alsa-hook-client'}"
- signal-timeout "{'timeout':180, 'music':'quit'}"
+ stream_open "{'audio_role': 'Entertainment', 'endpoint_type':'sink'}"
+ set_stream_state "{'state':'running'}"
}
# api subcall to request a role
release {
- release-role "{'uid':'alsa-hook-client'}"
+ set_stream_state "{'state':'idle'}"
+ stream_close "{}"
}
# map AGL event on Unix signal. Search in event for json key=value
events {
- sig-02 {search music, value quit}
- sig-31 {search event, value start}
- sig-32 {search event, value start}
+ sig-02 {search state_event, value 1}
+ sig-31 {search state_event, value 2}
+ sig-32 {search state_event, value 3}
}
}
}
}
+# ----------------------------------------------------
+# Define one hooked PCM channel per Audio Roles
+# ----------------------------------------------------
pcm.Navigation {
type hooks
- slave {pcm "NaviPCM"}
+ slave {pcm "Guidance_Main"}
hooks.0 {
comment "Defined used hook sharelib and provide arguments/config to install func"
type "CtlHookPlugin"
@@ -106,7 +140,7 @@ pcm.Navigation {
verbose true
# uri to audio-4a policy engine
- uri="unix:/var/tmp/pol4a"
+ uri="unix:/run/user/0/apis/ws/ahl-4a"
# timeout in ms (default 500)
timeout 5000
@@ -116,20 +150,21 @@ pcm.Navigation {
# api subcall to request a role
request {
- navigation-role "{'uid':'alsa-hook-client'}"
- signal-timeout "{'timeout':5, 'navi':'quit'}"
+ stream_open "{'audio_role': 'Guidance', 'endpoint_type':'sink'}"
+ set_stream_state "{'state':'running'}"
}
# api subcall to request a role
release {
- release-role "{'uid':'alsa-hook-client'}"
+ set_stream_state "{'state':'idle'}"
+ stream_close "{}"
}
# map AGL event on Unix signal. Search in event for json key=value
events {
- sig-02 {search navi, value quit}
- sig-31 {search event, value start}
- sig-32 {search event, value start}
+ sig-02 {search state_event, value 1}
+ sig-31 {search state_event, value 2}
+ sig-32 {search state_event, value 3}
}
}
}
diff --git a/meta-audio-4a-framework/recipes-multimedia/4a-hal-reference/4a-hal-reference_git.bb b/meta-audio-4a-framework/recipes-multimedia/4a-hal-reference/4a-hal-reference_git.bb
index 1dcaacaa..d29343c3 100644
--- a/meta-audio-4a-framework/recipes-multimedia/4a-hal-reference/4a-hal-reference_git.bb
+++ b/meta-audio-4a-framework/recipes-multimedia/4a-hal-reference/4a-hal-reference_git.bb
@@ -15,8 +15,13 @@ S = "${WORKDIR}/git"
inherit afb-system-cmake
-#Select Here your HAL
-EXTRA_OECMAKE_m3ulcb += " -DHAL_RCAR-M3=1"
+EXTRA_OECMAKE += "-DHAL_USB_DEVICE=1"
+
+# Select platform specific additional HAL(s)
+EXTRA_OECMAKE_append_x86-64 = " -DHAL_INTEL_HDA=1"
+# Mark as specific to M3
+PACKAGE_ARCH_m3ulcb = "${MACHINE_ARCH}"
+EXTRA_OECMAKE_append_m3ulcb = " -DHAL_RCAR-M3=1"
FILES_${PN}-dev += "${INSTALL_PREFIX}/afb-aaaa/htdocs"
FILES_${PN} += "${INSTALL_PREFIX}/afb-aaaa"
diff --git a/meta-audio-4a-framework/recipes-multimedia/agl-service-unicens/agl-service-unicens_git.bb b/meta-audio-4a-framework/recipes-multimedia/agl-service-unicens/agl-service-unicens_git.bb
new file mode 100644
index 00000000..0c5919bf
--- /dev/null
+++ b/meta-audio-4a-framework/recipes-multimedia/agl-service-unicens/agl-service-unicens_git.bb
@@ -0,0 +1,18 @@
+SUMMARY = "4A - Infotainment network setup and access"
+DESCRIPTION = "Infotainment network setup and access (using Unified Centralized Network Stack)"
+HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-unicens"
+SECTION = "apps"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-unicens;protocol=https;branch=${AGL_BRANCH}"
+SRCREV = "${AUTOREV}"
+
+PV = "0.1"
+S = "${WORKDIR}/git"
+
+inherit cmake aglwgt pkgconfig
+
+DEPENDS += "alsa-lib json-c systemd af-binder glib-2.0 mxml"
+
diff --git a/meta-audio-4a-framework/recipes-platform/images/agl-demo-platform-crosssdk.bbappend b/meta-audio-4a-framework/recipes-platform/images/agl-demo-platform-crosssdk.bbappend
new file mode 100644
index 00000000..48388a29
--- /dev/null
+++ b/meta-audio-4a-framework/recipes-platform/images/agl-demo-platform-crosssdk.bbappend
@@ -0,0 +1 @@
+TOOLCHAIN_TARGET_TASK += "mxml-dev"
diff --git a/meta-audio-4a-framework/recipes-support/mxml/files/0001-avoid-testing-library-in-cross-environments.patch b/meta-audio-4a-framework/recipes-support/mxml/files/0001-avoid-testing-library-in-cross-environments.patch
new file mode 100644
index 00000000..a128936b
--- /dev/null
+++ b/meta-audio-4a-framework/recipes-support/mxml/files/0001-avoid-testing-library-in-cross-environments.patch
@@ -0,0 +1,31 @@
+From b00ed2af82d4b046a6b8c53bd373ffe908866b0d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Fri, 30 Dec 2016 00:30:59 +0100
+Subject: [PATCH] avoid using binraies build - won't work in cross
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 92a490f..8217039 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -88,7 +88,7 @@ PUBLIBOBJS = mxml-attr.o mxml-entity.o mxml-file.o mxml-get.o \
+ mxml-index.o mxml-node.o mxml-search.o mxml-set.o
+ LIBOBJS = $(PUBLIBOBJS) mxml-private.o mxml-string.o
+ OBJS = mxmldoc.o testmxml.o $(LIBOBJS)
+-TARGETS = $(LIBMXML) mxmldoc testmxml mxml.xml doc/mxml.man
++TARGETS = $(LIBMXML)
+
+
+ #
+--
+2.5.5
+
diff --git a/meta-audio-4a-framework/recipes-support/mxml/files/0002-don-t-loose-our-LDFLAGS.patch b/meta-audio-4a-framework/recipes-support/mxml/files/0002-don-t-loose-our-LDFLAGS.patch
new file mode 100644
index 00000000..3371d1ac
--- /dev/null
+++ b/meta-audio-4a-framework/recipes-support/mxml/files/0002-don-t-loose-our-LDFLAGS.patch
@@ -0,0 +1,31 @@
+From 358fe387d07b4906c823b2a664f3c57fd62acd3e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Mon, 27 Feb 2017 18:24:29 +0100
+Subject: [PATCH] don't loose our LDFLAGS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 789677a..f3b3b62 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -25,7 +25,7 @@ CC = @CC@
+ CFLAGS = $(OPTIM) $(ARCHFLAGS) @CFLAGS@ @CPPFLAGS@ @PTHREAD_FLAGS@
+ CP = @CP@
+ DSO = @DSO@
+-DSOFLAGS = @DSOFLAGS@
++DSOFLAGS = $(LDFLAGS) @DSOFLAGS@
+ LDFLAGS = $(OPTIM) $(ARCHFLAGS) @LDFLAGS@
+ INSTALL = @INSTALL@
+ LIBMXML = @LIBMXML@
+--
+2.9.3
+
diff --git a/meta-audio-4a-framework/recipes-support/mxml/mxml_2.10.bb b/meta-audio-4a-framework/recipes-support/mxml/mxml_2.10.bb
new file mode 100644
index 00000000..bca248b6
--- /dev/null
+++ b/meta-audio-4a-framework/recipes-support/mxml/mxml_2.10.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Mini-XML is a small XML library"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6ba38606d63bb042c5d8cfee182e120"
+
+DEPENDS = ""
+
+SRC_URI = " \
+ https://github.com/michaelrsweet/mxml/releases/download/release-${PV}/${BPN}-${PV}.tar.gz \
+ file://0001-avoid-testing-library-in-cross-environments.patch \
+ file://0002-don-t-loose-our-LDFLAGS.patch \
+"
+SRC_URI[md5sum] = "8804c961a24500a95690ef287d150abe"
+SRC_URI[sha256sum] = "267ff58b64ddc767170d71dab0c729c06f45e1df9a9b6f75180b564f09767891"
+
+inherit autotools-brokensep
+
+EXTRA_AUTORECONF += "--exclude=autoheader"
+
+do_install() {
+ install -d ${D}${includedir}
+ install -m 644 mxml.h ${D}${includedir}
+
+ install -d ${D}${libdir}/pkgconfig
+ install -m 644 libmxml.so.1.5 ${D}${libdir}
+ ln -s libmxml.so.1.5 ${D}${libdir}/libmxml.so
+ ln -s libmxml.so.1.5 ${D}${libdir}/libmxml.so.1
+
+ install mxml.pc ${D}${libdir}/pkgconfig
+
+ # Remove useless rpath
+ chrpath -d ${D}${libdir}/libmxml.so.1.5
+
+}
diff --git a/meta-hmi-framework/recipes-platform/packagegroups/packagegroup-hmi-framework.bb b/meta-hmi-framework/recipes-platform/packagegroups/packagegroup-hmi-framework.bb
index b11cb349..1adbee86 100644
--- a/meta-hmi-framework/recipes-platform/packagegroups/packagegroup-hmi-framework.bb
+++ b/meta-hmi-framework/recipes-platform/packagegroups/packagegroup-hmi-framework.bb
@@ -7,11 +7,9 @@ inherit packagegroup
RDEPENDS_${PN} += " \
agl-service-windowmanager-2017 \
- agl-service-soundmanager-2017 \
agl-service-homescreen-2017 \
homescreen-2017 \
libwindowmanager \
qlibwindowmanager \
- libsoundmanager \
libhomescreen-2017 \
"
diff --git a/templates/feature/agl-audio-4a-framework/50_local.conf.inc b/templates/feature/agl-audio-4a-framework/50_local.conf.inc
index e75ea18c..19889d8e 100644
--- a/templates/feature/agl-audio-4a-framework/50_local.conf.inc
+++ b/templates/feature/agl-audio-4a-framework/50_local.conf.inc
@@ -2,3 +2,13 @@
# enables the following line:
#
DISTRO_FEATURES_append = " agl-audio-4a-framework "
+
+# asound.conf is provided by the 4a-hal-config (and not by asound.state)
+VIRTUAL-RUNTIME_alsa-state = "4a-hal-config"
+# additionally there is a bug in alsa-utils-alsactl where it pulls in alsa-state directly
+RRECOMMENDS_pn-alsa-utils-alsactl = "VIRTUAL-RUNTIME_alsa-state"
+
+# why should a config package have -dev ... I'll leave that answer to you.
+PACKAGES_pn-alsa-state_remove = "alsa-state-dev"
+PACKAGES_pn-alsa-state_remove = "alsa-states-dev"
+PACKAGES_pn-alsa-state = "alsa-state alsa-states"