summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2020-01-20meta-aac: Rework agl-voiceagent-alexa packagingScott Murray2-0/+19
Rather than appending the agl-voiceagent-alexa packages onto the existing packagegroup-agl-core-services, instead define a new specific packagegroup-agl-voiceagent-alexa, and an associated image feature that is used to include it into an image with IMAGE_FEATURES. This seems better for the longer-term goal of a binary package feed, and IMAGE_FEATURES can be used by other recipes in a similar manner as DISTRO_FEATURES, but with a lot less build dependency impact if changed. This will be used in a parallel change to meta-agl-demo to pull in the new alexa-viewer application when using the Alexa voiceagent. Bug-AGL: SPEC-3110 Change-Id: I15fb07560fef703e3471bce9e50596cb4a6667b4 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2020-01-10pipewire: add patch to fix random underrunsGeorge Kiagiadakis2-1/+32
Bug-AGL: SPEC-3098 Change-Id: Id304bf6d1adcf7cd739b705a23772c25ce5258e8 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2020-01-05alexa-voiceagent-service: Add the hls gstreamer pluginJan-Simon Moeller1-0/+1
Streaming music needs this plugin. Add it to RDEPENDS. Bug-AGL: SPEC-3088 . Change-Id: Ica10a9ad106c73da98ca34c9c851f029eee04b2b Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-01-03alexa-voiceagent-service: Add patch to fix event argument JSONScott Murray2-0/+184
In several places in the alexa-voiceagent-service code, strings containing JSON document fragments are put whole into a json-c string object which is added to the event argument json_object, rather than being properly added as built up json-c object hierarchies. The result is an embedded JSON document in a string with extra escaping, which is not usable on the receiving side without knowing that part of the event object effectively needs to be run through a JSON parser to be usable. This is contrary to the voiceagent event documentation and inconvenient for client implementors, so fix it by tokenizing the internal JSON payload string into a json_object tree and passing that as the event argument where necessary. Note that it is ATM not clear if all affected event argument payloads are correct, e.g. LocalMediaSource may need some more work. Bug-AGL: SPEC-3084 Change-Id: I77c97d7eb241d6ccbd98fb379b88336494ce12e9 Signed-off-by: Scott Murray <scott.murray@konsulko.com> (cherry picked from commit 3fdec9d7e81cff04fd2aa38e25872da7c431b769)
2019-12-30alexa-voiceagent-service: support building in wakeword engineScott Murray7-4/+42
Add support for building the "amazonlite" wakeword engine into the Alexa voiceagent. A new feature template, agl-voiceagent-alexa-wakeword, is added to pull in the extra layers/recipes from the additional wakeword engine files for the SDK that Amazon provides. The feature pulls in the existing agl-voiceagent-alexa feature as a dependency to simplify configuring a build. The existing patch to work around the Alexa SDK build's use of AAC_PREFIX as prefix for all packages has been updated to handle the pryon-lite wakeword engine library. Bug-AGL: SPEC-3077 Change-Id: I5549ea9000c6713e6becb191f4dcd957ebde18ac Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-12-19bluez-alsa: update gst-helper to handle corking and use the Multimedia role ↵icefish_8.99.4icefish/8.99.48.99.4George Kiagiadakis1-11/+64
on A2DP Bug-AGL: SPEC-2792 Change-Id: I2247550d6059c31596651e84fdd617f849722422 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-12-19wireplumber: update with bluetooth audio policy fixesGeorge Kiagiadakis3-1/+7
George Kiagiadakis (5): config: add missing endpoint priority in hw:0,0 config config-policy: remove _can_link_stream() function config-policy: do not unlink other endpoints when linking one with keep=true config-policy: push endpoints with keep=true to the end of the list when sorting config-policy: debug handling of endpoints Bug-AGL: SPEC-2792 Change-Id: I5645715948f0c596ce0dc6754aa045ed58ebed84 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-12-18Also let the user specify the wakeword engine statusJan-Simon Möller1-1/+3
To enable the wakeword engine you need to have the plugin available and set ALEXA_WAKEWORD in your conf/local.conf to true. Change-Id: If7266c8ac9f773ee29dffc7494d55f323e76b63e Bug-AGL: SPEC-3054 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
2019-12-18wireplumber: update to masterGeorge Kiagiadakis28-124/+230
* Fixes policy issues * Implements a standard way of configuring the default device: the device that matches from the *.endpoint files that has the highest priority and is available on the system becomes the default. Afterwards, at runtime, the default can be changed with wireplumber-cli. Clients now also link to the default device, so it is possible to change devices at runtime without reconfiguring wireplumber. George Kiagiadakis (9): session: select the default endpoint based on endpoint priority config: refactor wireplumber's configuration config: fix typo in config files module-session: debug default endpoint changes policy: track the exported session instead of the proxy config-policy: debug rescans cli: fail gracefully if connection to pipewire fails lib: debug loading of config files + endpoint priorities parser-endpoint: fix typo; initialize endpoint priority instead of reseting the match one Julian Bouzas (13): config-policy: sort endpoints by creation time when finding target parser-endpoint-link: higher number means higher priority softdsp-endpoint: don't rename the endpoint on creation modules: remove alsa-udev and audio-client modules modules: add config endpoint module config-policy: remove parsing of streams file parser-endpoint-link: don't parse unused state value base-endpoint: add _get_priority API modules: only allow 'sink' and 'source' strings when parsing direction in config files base-endpoint: add _get_global_id API policy: add _get_session API for the policy manager config-policy: use the default session endpoint if target-endpoint is not defined config-policy: only handle the highest priority endpoint for a target, and the ones with keep=true Bug-AGL: SPEC-2837 Change-Id: I87b3e8b9e159dfc472aa534e40e088ae758ad20c Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-12-14Add mechanism to deploy the alexa-voiceagent credentialsicefish_8.99.3icefish/8.99.38.99.3Jan-Simon Moeller3-0/+223
Allow a pre-loaded version of the alexa voiceagent configuration. Bug-AGL: SPEC-3054 Change-Id: I65e0c1fd253d2d21e33c052477a0aeb397b8eb11 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2019-12-12wireplumber: conf: load module-sessionGeorge Kiagiadakis1-0/+4
This is needed by the audiomixer to be able to find the default playback device endpoint. Bug-AGL: SPEC-2986 Change-Id: I0126a958c6c5005620fab89b0fb880b603cd9f14 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-12-12agl-service-audiomixer: add DEPENDS on wireplumberGeorge Kiagiadakis1-1/+1
Latest changes require linking against wireplumber's library Bug-AGL: SPEC-2986 Change-Id: I0524ec3f275add4bbdb57054a54c0c71e42db044 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-12-12agl-service-audiomixer: change back to building from the default AGL branchGeorge Kiagiadakis1-2/+2
Bug-AGL: SPEC-2986 Change-Id: I27419168f98d615b38f498490c23f80d33963aea Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-12-12wireplumber: update to masterGeorge Kiagiadakis2-2/+2
* Adds volume controls * Adds useful subcommands in wireplumber-cli George Kiagiadakis (15): lib: rename WpEndpoint* to WpBaseEndpoint* lib: implement WpEndpoint (interface + Proxy + Exported + unit test) endpoint: export name, media class & direction + finetune the global properties session: ensure the exported properties do not leak object, client & factory ids softdsp-endpoint: export Endpoint object on the pipewire registry config-policy: avoid race condition in the unit tests endpoint: implement get_{name,media_class,direction} exported: delay export until the core is connected modules: implement module-session, a WpSession provider module cli: extend with operations to list endpoints and change the default softdsp-endpoint: implement volume controls via the exported endpoint cli: add a set-volume command core: change idle_add to take a GDestroyNotify as well and return a source id endpoint proxy: don't try to set a control value if the proxy is destroyed meson: install a pkgconfig file for libwireplumber Julian Bouzas (3): stream: clear proxy when finalizing tests: clear core weak reference when finalizing endpoint-link-fake tests: improved config policy priority test to make sure endpoint role works Bug-AGL: SPEC-2986 Change-Id: Ifc30465c7e24c49ab475adbca590f6aca0e67600 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-12-11wireplumber: update for bug fixesGeorge Kiagiadakis1-1/+1
George Kiagiadakis (6): ci: pin pipewire to a specific working commit config: remove the stream from the default endpoint-link files config-policy: add some more debug statements config-policy: fix stream priority logic when the stream name comes from media.role config-policy: fix typo in variable check link-algorithm: link mono inputs to all available target ports Julian Bouzas (4): core: remove unnecessary idle callback when connecting core: return a boolean in sync API tests: make sure core is connected before starting config-policy tests policy: store a core weak reference Bug-AGL: SPEC-2837 Bug-AGL: SPEC-3003 Change-Id: I19a0a1580365e998600fcd6841d0c5d2fe955310 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-12-09agl-profile-graphical-html5: Add packagegroup to IMAGE_INSTALLJacobo Aragunde Pérez1-0/+3
Whenever the feature is enabled, it can be expected that the packages related to the HTML5 framework would be added to any image built, e.g. the agl-demo-platform. Bug-AGL: SPEC-2322 Change-Id: I0e6174fe52c9f9dbb87105d0bbd96d93554ed67b Signed-off-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
2019-12-06meta-html5-framework: rename layer and featureicefish_8.99.2icefish/8.99.28.99.2Jacobo Aragunde Pérez18-14/+13
The new name for the layer is meta-agl-profile-graphical-html5 and the feature is agl-profile-graphical-html5, which better match the other existing features like agl-profile-graphical-qt5. Usage: aglsetup.sh -m $MACHINE agl-profile-graphical-html5 Build minimal image to run HTML5 apps: bitbake agl-image-graphical-html5 Include to agl-demo-platform: IMAGE_INSTALL_append = " packagegroup-agl-appfw-html5" Change-Id: I4a4d4f85dd7fc23be51621702f842aa86a0dc3a5 Signed-off-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
2019-12-06meta-html5-framework: define html-only imageJacobo Aragunde Pérez8-32/+61
The layer now defines a standalone image agl-image-graphical-html5, containing only the minimum packages to run the web application manager (WAM). No webapps are included. It redefines packagegroups to use the more standard names agl-profile-graphical-html5 and agl-appfw-html5. It also adds a dependency on agl-profile-graphical, so we don't require users to add other features explicitly. The .bbappends for agl-demo-platform* images have been removed, so the layer doesn't depend on meta-agl-demo. We will provide image definitions for WAM + demo apps in meta-agl-demo in a later commit. To sum up, an HTML-only image can be built with: aglsetup.sh -m $MACHINE agl-html5-framework bitbake agl-image-graphical-html5 To add WAM to an agl-demo-platform image, both agl-demo and agl-html5-framework features must be enabled, and this must be added to local.conf or local.dev.inc: IMAGE_INSTALL_append = " packagegroup-agl-appfw-html5" Bug-AGL: SPEC-2322 Change-Id: I648dd9f509faf77bf0c8520c9773de073865b90e Signed-off-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
2019-12-06agl-service-audiomixer: add signal-composer to RDEPENDSMatt Ranostay1-1/+2
To allow subscribing to steering wheel events it requires agl-service-signal-composer. Bug-AGL: SPEC-3023 Change-Id: I4731b28cfb2702436a9c02fbfa32d32792b00c59 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-12-05wireplumber: update to master as of Dec 5th 2019George Kiagiadakis9-53/+176
This update introduces a new TOML configuration file based policy engine, which behaves the same as the previous static engine, except that we now can: * link different apps to different devices * finetune how the device is configured with a lot of properties that we can match against * force a specific role to a specific app, by overriding it in the configuration file * make a specific app remain linked to the output even if another app comes in to play something; this is useful for the bluez-alsa gstreamer helper at this moment In addition, the code is cleaner and easier to work with, and we can easily add more properties to force a specific behavior per app. Bug-AGL: SPEC-2837 Change-Id: If0ecd468592b78cb2f2a5a8c3db16f655e4927f9 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-12-05pipewire: update to master as of Dec 5th 2019George Kiagiadakis10-227/+60
* Refreshed & combined some patches Bug-AGL: SPEC-2837 Change-Id: Ibd5849eff26bb51eb68580eac144aa07e646d127 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-12-04Move packages from agl-core to agl-iviRonan Le Martret2-0/+0
Bug-AGL: SPEC-2500 Change-Id: Ibe92d865556818697e311fb914f6e80b80143975 Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
2019-11-26pipewire: Rework of security settingsJosé Bollo4-56/+9
This changes is mainly focussed on shifting from cynara to cynagora permission database. But it also changes how setting is done in the hope to make it simpler. Bug-AGL: SPEC-2993 Change-Id: Ie9085e11560724baf4194fc6d17651d40523bab7 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-11-19wireplumber: update to master as of Nov 19th 2019icefish_8.99.1icefish/8.99.18.99.1George Kiagiadakis2-11/+1
* Fixes the crashes that have previously been observed on the green machine * Addresses issues with format selection on some devices * Removed the mixer module which is no longer used Bastien Nocera (2): build: Fix build after recent PipeWire header changes ci: Add CI George Kiagiadakis (9): lib/wp: move internal functions and declarations to a private.h header proxy: allow multiple augment tasks to run in parallel fixup: include private.h in monitor.c lib: introduce WpObjectManager object-manager: actually add the object-manager.* files in git endpoint-link: ensure we call finalize of the parent class proxy: debug in dispose() so that we can print the pw_proxy pointer adapter: select a reasonable device format instead of letting pipewire choose its own ci: use the same os image as pipewire and build pw with minimal features Julian Bouzas (1): modules: remove the mixer Bug-AGL: SPEC-2837 Bug-AGL: SPEC-2860 Change-Id: Ica817888c877f409c4e57edb8f29f4cdf6ea0489 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-11-19pipewire: update to master as of Nov 19th 2019George Kiagiadakis15-6007/+132
* Refresh patches * Remove endpoint API patches, which have been merged * Remove log timestamp patch, which has been merged * Added a patch to module-access to avoid all those false-positive security errors in the journal * Update URLs to point to gitlab.freedesktop.org now that the project has moved * Switch from gitsm to git, since the project no longer makes use of submodules Bug-AGL: SPEC-2837 Change-Id: I53ef9548e48827b00595162c0a30e12b302eefd9 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-11-06wireplumber: update to latest masterGeorge Kiagiadakis1-4/+4
Changes: * Respects the device configuration again * Properly re-links with a client that was already there before when a higher priority or a newer one exits * Fixes some linking issues and assertion failures * Change the project URL to reflect the move to the "pipewire" group on freedesktop This still doesn't fix the crashes that have been observed to happen with alexa. George Kiagiadakis (5): tests: proxy: fix failure due to property key change in pipewire monitor & softdsp: fix alsa property names and api string policy: correctly figure out if a stream is a capture stream policy: do not assert if the endpoint link errors out README.md: add instructions on building and running Julian Bouzas (3): endpoint: add creation-time property simple-policy: select the newest client endpoint when the role priority is equal stream: get the node id from the info struct when preparing link Bug-AGL: SPEC-2837 Change-Id: I804e5211ae8cbc5b787e2fc586d600c8ac9b965e Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-10-31Revert "alexa-voiceagent-service: build in debug mode"Raquel Medina1-4/+0
This reverts commit 479697d20ac25fa6c457e7ec2af78a0f145c8a49. Bug-AGL: SPEC-2873 Change-Id: I1bcb38a4d629f3cd4203e14231c4927d4cba4607 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
2019-10-31alexa-voice-agent-service: fix segmentation fault in release modeRaquel Medina2-0/+34
Bug-AGL: SPEC-2873 Change-Id: I3ada1a89e57aa879667e2a204a5f7572a59201ed Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
2019-10-15meta-speech-framework: rework voiceagent configurationScott Murray10-9/+72
After agl-service-voice-high rework to make the voiceagent(s) used externally configurable, replace the previous virtual/voiceagent PREFERRED_RPROVIDER scheme with a virtual/voice-high-config that just selects the appropriate configuration package based on the specified feature. If agl-speech-framework is specified on its own, a default configuration file specifying no default voiceagent will be installed. If agl-voiceagent-alexa is specified, the default configuration will specify the Alexa voiceagent as the default. Recipes have been added for the new configuration file packages, and the alexa-voiceagent-service recipe has been tweaked to create a package with the Alexa per-voiceagent configuration file and add it as a dependency. Bug-AGL: SPEC-2898 Change-Id: Ib6e3952d04df5795d94bb38cd314b0c79e5b60e5 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-10-15alexa-voiceagent-service: build in debug modeScott Murray1-0/+4
Tweak the CMake flags to build alexa-voiceagent-service in debug mode (hopefully temporarily) to avoid the known crash tracked in SPEC-2873. This also matches the build instructions given in the README.md in alexa-auto-sdk upstream as of version 2.0. Bug-AGL: SPEC-2873 Change-Id: I2bc7b14412089660ea253a50bcbe4079e2670be0 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-10-11wam: bump revisionAntia Puentes1-1/+1
Includes commits: * [agl] Implement an envvar for launcher to wait for host process * [agl] Suspend/resume webapps depending on visibility * Create socket and lock files in XDG_RUNTIME_DIR. which are the fixes for the AGL issues: Bug-AGL: SPEC-2793 Bug-AGL: SPEC-1948 Bug-AGL: SPEC-2684 Change-Id: I1dc64ca013804c5df9a7f17f6d6722d40f3271f1 Signed-off-by: Antia Puentes <apuentes@igalia.com>
2019-10-10agl-service-voice-high: remove submodule usageScott Murray1-2/+3
Update agl-service-voice-high recipe to replace git submodule usage with DEPENDS on libafb-helpers and libappcontroller. nlohmann-json has been added also been added as a dependency since the json.hpp it provides is no longer available from libafb-helpers as it previously was from the submodule. Finally, the lua dependencies have been removed since nothing in the binding's controller usage requires them. Bug-AGL: SPEC-2854, SPEC-2856 Change-Id: I4ff980e6706c9e57da2c30181261f33c602f1515 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-10-10agl-service-voice-high-capabilities: remove submodule usageScott Murray1-5/+3
Update agl-service-voice-high-capabilities recipe to replace git submodule usage with DEPENDS on libafb-helpers and libappcontroller. nlohmann-json has been added also been added as a dependency since the json.hpp it provides is no longer available from libafb-helpers as it previously was from the submodule. Finally, the lua dependencies have been removed since nothing in the binding's controller usage requires them. Bug-AGL: SPEC-2855, SPEC-2857 Change-Id: I8e6eaa88c294b1c8d97c5eefab912e87aebd8e80 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-10-09wireplumber: update configurationGeorge Kiagiadakis1-11/+2
This removes the bluetooth modules from the configuration and updates the alsa monitor name & flags to match what we have in wireplumber master. Bug-AGL: SPEC-2837 Change-Id: I8eabfabab5ce49a958fc17720a1b76ae43049566 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-10-08chromium68: bump revision, it fixes a WAM crash in rpiAntia Puentes1-1/+1
Includes commit: * Revert "[BACKPORT] [ozone/wayland] Use gbm with in-process-gpu mode" The original Chromium backport introduced a regression in the Raspberry Pi, resulting in a crash in the WebAppMgr. Bug-AGL: SPEC-2790 Change-Id: Ibc7af04cbd0b867d1488bcb18926d3337ad998ef Signed-off-by: Antia Puentes <apuentes@igalia.com>
2019-10-07meta-pipewire: add recipe to build the bluez-alsa-pipewire gstreamer helperGeorge Kiagiadakis4-0/+518
Unfortunately, the bluez-alsa PCM plugin does not work correctly when it is used through pipewire (or gstreamer, or anywhere really...). For this reason I have built a helper client that uses GStreamer to glue together the bluez-alsa sockets with pipewire. This helper is implemented as a patch to bluez-alsa so that it can use its internal private API. In the future this needs some re-thinking The helper is meant to run in the background as a service and it will create the appropriate streams in pipewire when it detects a new device on the bluealsa d-bus interface. Currently it only supports a2dp-sink and hfp modes (i.e. media player from a phone + calls). Bluetooth speakers need further policy work in wireplumber that is too complex to support on the current halibut version of pipewire/wireplumber. Bug-AGL: SPEC-2792 Change-Id: I369b40eb1cf6d940ac233fff18605f400bce3628 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-10-07wireplumber: update to latest masterGeorge Kiagiadakis1-2/+2
* fixes the problem where audio was only audible on the left channel (SPEC-2850) * updates for pipewire master API changes * forward-ports the changes needed to run the bluez-alsa gst helper George Kiagiadakis (11): daemon: do not access the inexistent error-message property from core core & proxy: add some more assertions and debug messages for troubleshooting sofdsp-endpoint: run audioconvert in merge+split mode and use a new linking algorithm softdsp-endpoint/stream: remove the port proxies when they are removed on the server monitor: update to reflect API changes in pipewire master monitor: add a flag to activate alsa devices softdsp/convert: append the stream name on the new "object.path" key simple-policy: remove all the bluetooth policy stuff modules: remove module-pw-bluez policy: add a hack that allows some clients to be linked always meson: bump version to 0.1.90 Bug-AGL: SPEC-2850 Bug-AGL: SPEC-2792 Bug-AGL: SPEC-2837 Change-Id: I3bfa9fe54c5c01515d596f0f3c143958141ff1ad Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-10-07pipewire: update to latest masterGeorge Kiagiadakis19-528/+71
Update patches: * remove merged patches * remove the alsa algorithm correction that was needed for qemu, as it seems to cause severe underruns on other platforms now; I will recheck qemu to see if this is still an issue * add a workaround needed to get the audioconvert plugin running in merge+split mode (needed to get all the channels out instead of just the front left channel that we were getting before) Update version to 0.2.91 to reflect the fact that we are now tracking the master branch instead of the work branch. Enable the spa audiomixer plugin which is now required to mix audio on ports Bug-AGL: SPEC-2837 Change-Id: I2558aa5487b9c9918e077bf450230c143abf7e6c Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-10-02alexa-voiceagent-service: update config and database file pathsScott Murray2-0/+125
Add patch to alexa-voiceagent-service to update the default paths used for the database and configuration files to move them out of the binding installation hierarchy. This avoids the permissions problems stemming from the new security model of running as non-root. Also reworked the main configuration JSON file location logic to check for the file in /etc/xdg/AGL and then in AFM_WORKDIR (app-data directory), before falling back to the original location in var/config under the binding installation directory. Bug-AGL: SPEC-2845 Change-Id: Id7636435163005148a6291a56a1ada9896c0b3cc Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-10-01pipewire: add patch to fix random sendmsg errorsGeorge Kiagiadakis3-0/+306
Sometimes we get an error from sendmsg when too many objects exist in the graph and when this happens, clients start to silently fail to do things in a weird way. These patches fix that by handling the situation where sendmsg returns EAGAIN and trying again when the socket is unblocked. Previously, data would silently be dropped, which is what caused the weird behaviors. See also https://github.com/PipeWire/pipewire/issues/111 Bug-AGL: SPEC-2837 Change-Id: Ie30083545629114f10a28e628f54d85e22d13058 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-10-01wireplumber: remove residual config lineGeorge Kiagiadakis1-4/+0
The softdsp module has been removed (merged into the main module-pipewire), so it is not found when using this config and loading fails Bug-AGL: SPEC-2837 Change-Id: I304caa6f0091b4f214fb90dee8d179ec6a29415c Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-09-30agl-voiceagent-alexa: mask out curl bbappendScott Murray1-0/+5
Mask out curl bbappend with BBMASK in agl-voiceagent-alexa.inc to avoid triggering significant rebuilds when enabling the feature. The required PACKAGECONFIG modification to enable nghttp2 is now done in meta-agl-profile-core. Bug-AGL: SPEC-2839 Change-Id: I8fdc9f75ecf20ae4c05dce585cef61cc923fac94 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-09-29pipewire: update pipewire & wireplumber to the latest development versionGeorge Kiagiadakis31-4863/+5990
This refreshes all the patches, removing all those that made it upstream, redoing the endpoint extension (now called session-manager extension), and adding some more last moment fixes. In addition, the configuration files for wireplumber & pipewire are being updated to load the new modules, as the module set has changed in both daemons. Finally, the pipewire recipe is adding PACKAGECONFIG options for jack and vulkan, so that we can actually disable them. Pipewire upstream builds them by default and we don't want that. Bug-AGL: SPEC-2837 Change-Id: Id42119c027558466f0a0aa71813ff15f33dfcb56 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-09-29audiomixer: temporarily disable code in audiomixer to make the build workGeorge Kiagiadakis1-2/+2
This essentially removes all mixer controls from the mixer, while it still allows the service to build and run, so that the rest of the system is not broken. The API used by audiomixer (the endpoint extension) has changed and we are still working on porting all the pieces involved. Bug-AGL: SPEC-2837 Change-Id: I12879f13f545c8cebe913860801cc61ed921e009 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2019-09-25wam: auto-enable remote debug when agl-devel is onAntia Puentes1-0/+7
Apart from preventing remote debugging when agl-devel is not set, which was tackled in SPEC-2327, we are interested in having remote debugging available by default when agl-devel is set. WAM checks if files: * /var/agl-devel/preferences/devmode_enabled * /var/agl-devel/preferences/debug_system_apps exist to enable the dev mode and the remote web inspector, so we create those files by default when agl-devel is set. Bug-AGL: SPEC-2782 Change-Id: I557a633802e6baa15339708b00719d66adbcf1ac Signed-off-by: Antia Puentes <apuentes@igalia.com>
2019-09-25alexa-voiceagent-service: Add patch to update audio device configurationScott Murray2-0/+198
Add patch to update audio device configuration to work with PipeWire changes to Auto SDK gstreamer output code. Bug-AGL: SPEC-2761 Change-Id: If7d1058a190bd91bd68151a5b54dc84db05a55bc Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-09-21meta-speech-framework: aac-module-gstreamer: Add PipeWire support patchScott Murray2-0/+98
Add a version of George's PipeWire support patch updated for the new gstreamer module in Alexa Auto SDK 2.0 to the aac-module-gstreamer bbappend. Bug-AGL: SPEC-2761 Change-Id: I4787d365664089848a9ffa3be1ee646766f6c931 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-09-18alexa-voiceagent-service: Update config.xml.inScott Murray2-0/+32
Add a patch to alexa-voiceagent-service recipe to update its config.xml.in to remove the now unneeded 4A dependency and add the now required new audio permission. Bug-AGL: SPEC-2765 Change-Id: I884bd7cfa45e598ecc06e1d6b1adde61a82f8db5 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-09-12Add agl-voiceagent-alexa featureScott Murray12-2/+121
Add feature and associated recipes and bbappends to enable building the Amazon Alexa voice agent for the speech framework using the Alexa Automotive SDK 2.0 release. A separate feature is used to accomodate potentially building with a different voiceagent provider. Some follow on development is required to add PipeWire support to the new gstreamer extension added in AAC 2.0, see SPEC-2767. Bug-AGL: SPEC-2765 Change-Id: Ie6e8f6a7965f8014ca2e64a2535faec073e320bc Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-09-05wireplumber: update to fix mixer issueGeorge Kiagiadakis1-1/+1
Bug-AGL: SPEC-2797 Change-Id: I8f1d13c4e816706f96f4a7628d238877a0cd4c02 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>