aboutsummaryrefslogtreecommitdiffstats
path: root/meta-speech-framework/meta-aac/recipes-modules
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2020-09-08 13:23:42 -0400
committerScott Murray <scott.murray@konsulko.com>2021-02-01 12:24:51 -0500
commite0d5ad833e89f47c88601e15158015319e568af8 (patch)
tree863a0cf2b3d208bb428ddde4b40dc2a2991cb23b /meta-speech-framework/meta-aac/recipes-modules
parent16d4abc248879d41db20c010b5775c70751dc394 (diff)
meta-speech-framework: Update Alexa Auto SDK to v2.3
Changes: - Mask out the duplicate libopus recipe, the same version is available from a recipe in meta-oe. - Update BBFILES addition for the audio module in the feature template to work with yet another new audio output backend. - Update the AlexaAutoCoreEngineConfig.json.in template based on the new sample JSON in 2.3. - Update alexa-voiceagent-config recipe to add new configuration variables ALEXA_LOCALE, ALEXA_TIMEZONE, ALEXA_MFG_NAME, and ALEXA_DESCRIPTION to match requirements of the updated configuration JSON. - Remove local alexa-voiceagent-service patches merged by Amazon, and update 0001-remove-library-dependency-copying.patch for 2.3. - Update SDK module DEPENDS for alexa-voiceagent-service recipe to match what seems required now with 2.3. - Remove avs-device-sdk patch for building with g++ 9.x, as it is no longer required. - Add avs-device-sdk patch to workaround hang seen on first connection. - Add bbappends for aac-module-car-control and aac-module-messaging recipes to fix their nlohmann-json DEPENDS to work with the recipe that is available in meta-oe. - Rework aac-module-system-audio.bbappend to enable the PipeWire support that has been merged into the module. Bug-AGL: SPEC-3783 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I18c910f9cbf874fef85d1d84508f6666d53629ed
Diffstat (limited to 'meta-speech-framework/meta-aac/recipes-modules')
-rw-r--r--meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend3
-rw-r--r--meta-speech-framework/meta-aac/recipes-modules/aac-module-gstreamer/aac-module-gstreamer/0001-gstreamer-implement-pipewire-integration.patch94
-rw-r--r--meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend3
-rw-r--r--meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend (renamed from meta-speech-framework/meta-aac/recipes-modules/aac-module-gstreamer/aac-module-gstreamer.bbappend)5
4 files changed, 8 insertions, 97 deletions
diff --git a/meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend b/meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend
new file mode 100644
index 00000000..93b7b443
--- /dev/null
+++ b/meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend
@@ -0,0 +1,3 @@
+# Fix nlohmann dependency to pick up newer nlohmann-json recipe in meta-oe
+DEPENDS_remove = "nlohmann"
+DEPENDS_append = " nlohmann-json"
diff --git a/meta-speech-framework/meta-aac/recipes-modules/aac-module-gstreamer/aac-module-gstreamer/0001-gstreamer-implement-pipewire-integration.patch b/meta-speech-framework/meta-aac/recipes-modules/aac-module-gstreamer/aac-module-gstreamer/0001-gstreamer-implement-pipewire-integration.patch
deleted file mode 100644
index b0a5c104..00000000
--- a/meta-speech-framework/meta-aac/recipes-modules/aac-module-gstreamer/aac-module-gstreamer/0001-gstreamer-implement-pipewire-integration.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-gstreamer: implement pipewire integration using pwaudiosrc/pwaudiosink
-
-The code path is wrapped in #ifdef USE_PIPEWIRE so that it can be toggled
-easily at compile time.
-
-The device string is abused to hold the role name, just like it was
-with 4A. In the future this may need to be reconsidered. In theory,
-we could detect the backend or make it configurable from the upper layer
-if we knew exactly what kind of data is in that device string
-(is it an ALSA device name? a pipewire role? a pipewire node id?
-a pulseaudio device name? ...)
-
-Upstream-Status: Pending
-
-Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
-[reworked for SDK 2.0]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
-diff --git a/lib/aal/CMakeLists.txt b/lib/aal/CMakeLists.txt
-index a892465..c92b2cf 100644
---- a/lib/aal/CMakeLists.txt
-+++ b/lib/aal/CMakeLists.txt
-@@ -7,6 +7,7 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
-
- add_definitions(-DUSE_GLOOP)
- add_definitions(-DUSE_FAKEMUTE)
-+add_definitions(-DUSE_PIPEWIRE)
-
- # GStreamer
- find_package(PkgConfig)
-diff --git a/lib/aal/src/player.c b/lib/aal/src/player.c
-index 02a2881..8747854 100644
---- a/lib/aal/src/player.c
-+++ b/lib/aal/src/player.c
-@@ -120,6 +120,19 @@ aal_handle_t aal_player_create(const aal_attributes_t *attr)
- g_object_get(volume, "volume", &ctx->saved_volume, NULL);
- #endif
-
-+#ifdef USE_PIPEWIRE
-+ sink = create_and_add_element(bin, "pwaudiosink", "sink");
-+ if (sink && attr->device && !IS_EMPTY_STRING(attr->device)) {
-+ g_info("Using role: %s\n", attr->device);
-+ GstStructure *s = gst_structure_new("properties",
-+ "media.role",
-+ G_TYPE_STRING,
-+ attr->device,
-+ NULL);
-+ g_object_set(G_OBJECT(sink), "stream-properties", s, NULL);
-+ gst_structure_free(s);
-+ }
-+#else
- if (!attr->device || IS_EMPTY_STRING(attr->device)) {
- sink = create_and_add_element(bin, "autoaudiosink", "sink");
- } else {
-@@ -128,6 +141,7 @@ aal_handle_t aal_player_create(const aal_attributes_t *attr)
- if (sink)
- g_object_set(G_OBJECT(sink), "device", attr->device, NULL);
- }
-+#endif
- if (!sink)
- goto exit;
-
-diff --git a/lib/aal/src/recorder.c b/lib/aal/src/recorder.c
-index 96c9b2a..66b36e1 100644
---- a/lib/aal/src/recorder.c
-+++ b/lib/aal/src/recorder.c
-@@ -86,6 +86,19 @@ aal_handle_t aal_recorder_create(const aal_attributes_t *attr)
- if (!ctx)
- goto exit;
-
-+#ifdef USE_PIPEWIRE
-+ source = create_and_add_element(ctx->pipeline, "pwaudiosrc", "source");
-+ if (source && attr->device && !IS_EMPTY_STRING(attr->device)) {
-+ g_info("Using role: %s\n", attr->device);
-+ GstStructure *s = gst_structure_new("properties",
-+ "media.role",
-+ G_TYPE_STRING,
-+ attr->device,
-+ NULL);
-+ g_object_set(G_OBJECT(source), "stream-properties", s, NULL);
-+ gst_structure_free(s);
-+ }
-+#else
- if (!attr->device || IS_EMPTY_STRING(attr->device)) {
- source = create_and_add_element(ctx->pipeline, "autoaudiosrc", "source");
- } else {
-@@ -94,6 +107,7 @@ aal_handle_t aal_recorder_create(const aal_attributes_t *attr)
- if (source)
- g_object_set(G_OBJECT(source), "device", attr->device, NULL);
- }
-+#endif
- if (!source)
- goto exit;
-
diff --git a/meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend b/meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend
new file mode 100644
index 00000000..93b7b443
--- /dev/null
+++ b/meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend
@@ -0,0 +1,3 @@
+# Fix nlohmann dependency to pick up newer nlohmann-json recipe in meta-oe
+DEPENDS_remove = "nlohmann"
+DEPENDS_append = " nlohmann-json"
diff --git a/meta-speech-framework/meta-aac/recipes-modules/aac-module-gstreamer/aac-module-gstreamer.bbappend b/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend
index 1b2618e8..35847170 100644
--- a/meta-speech-framework/meta-aac/recipes-modules/aac-module-gstreamer/aac-module-gstreamer.bbappend
+++ b/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend
@@ -1,9 +1,8 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
-
# Needed for the required gstreamer-app-1.0 pkgconfig bits
DEPENDS += "gstreamer1.0-plugins-base"
-AAC_PATCHES += "file://0001-gstreamer-implement-pipewire-integration.patch"
+# Need to enable PipeWire support
+EXTRA_OECMAKE += "-DUSE_PIPEWIRE=1"
# Pull static library into appropriate package to avoid a QA error
FILES_${PN}-staticdev += "${AAC_PREFIX}/lib/libaal.a"