diff options
author | Scott Murray <scott.murray@konsulko.com> | 2020-09-08 13:23:42 -0400 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2021-02-01 12:24:51 -0500 |
commit | e0d5ad833e89f47c88601e15158015319e568af8 (patch) | |
tree | 863a0cf2b3d208bb428ddde4b40dc2a2991cb23b /meta-speech-framework/meta-aac/recipes-modules | |
parent | 16d4abc248879d41db20c010b5775c70751dc394 (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.bbappend | 3 | ||||
-rw-r--r-- | meta-speech-framework/meta-aac/recipes-modules/aac-module-gstreamer/aac-module-gstreamer/0001-gstreamer-implement-pipewire-integration.patch | 94 | ||||
-rw-r--r-- | meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend | 3 | ||||
-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" |