Antia Puentes [Tue, 18 Feb 2020 11:48:03 +0000 (12:48 +0100)]
wam: bump revision, delete tinyproxy
Since the WAM revision this patch updates to, tinyproxy code is no
longer referenced by WAM, delete its recipe and references.
Bug-AGL: SPEC-3185
Change-Id: I6c3c241de2b7bc61be8a184c3c96397d478e04a5
Signed-off-by: Antia Puentes <apuentes@igalia.com>
Jan-Simon Möller [Fri, 21 Feb 2020 15:32:33 +0000 (16:32 +0100)]
Merge remote-tracking branch 'agl/next'
* agl/next:
meta-speech-framework: enable building Alexa voiceagent against zeus
Declare layer compatibility with zeus
Change-Id: I9c717cde0b51635c14f683b8d1d66a563ec3d7ed
Jan-Simon Möller [Tue, 18 Feb 2020 23:00:20 +0000 (00:00 +0100)]
Add name= to SRC_URI entry for chromium
This fixes an issue found when using the ARCHIVER.bbclass.
Bug-AGL: SPEC-3189
.
Change-Id: Ie2048236ed3baa3df0336711fa93758a4093caae
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Lorenzo Tilve [Fri, 14 Feb 2020 11:12:08 +0000 (12:12 +0100)]
Use landscape layout by default on HTML5 image
This also workarounds an issue when starting the homescreen
in portrait mode by default.
Bug-AGL: SPEC-3181
Change-Id: Ia84baab19c13c8484f681c8218a406e836dd08b0
Signed-off-by: Lorenzo Tilve <ltilve@igalia.com>
Scott Murray [Tue, 11 Feb 2020 22:37:54 +0000 (17:37 -0500)]
meta-speech-framework: enable building Alexa voiceagent against zeus
Changes:
- Tweak LAYERSERIES_COMPAT variable for alexa-auto-sdk's meta-aac
layer to append zeus, since it's unclear when Amazon will get around
to a new release that adds zeus support and it's straightforward to
get it to build against zeus.
- Add BBMASK for nghttp2 recipe in meta-aac to avoid overlaying the
one for the same version now available in meta-networking. This
avoids rebuilding a bunch of dependencies when reconfiguring to
enable agl-voiceagent-alexa.
- Add bbappend for avs-device-sdk to add a patch to disable -Werror
for new g++ 9 "deprecated-copy" warning in the packaged copy of
googletest, which avoids a build failure.
Bug-AGL: SPEC-2932
Change-Id: I469d07bafd8a4faf625191eb553ab7f762efb480
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Jan-Simon Moeller [Tue, 11 Feb 2020 15:47:08 +0000 (16:47 +0100)]
Add defaultbranch=master to gitreview file
Update .gitreview to have the defaultbranch= tag.
This simplifies changing the branches.
.
Change-Id: I775d5d3496bfe34ecca81296fef674448fb4c4c3
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Lorenzo Tilve [Fri, 24 Jan 2020 16:39:56 +0000 (17:39 +0100)]
wam: revision bump, fix WAM on icefish
Included changes:
*
a9e0093 Disable tinyproxy integration
*
c0def20 [agl] Fix regex scanning
*
c7b5db7 [agl] Handle hostname of application
*
4a00711 [agl] Retrieve token from environmen
*
7d4c91e Hard-code windowmanager roles for certain app ids
* files/trunc-webapp-roles.patch workaround repeated roles
Bumps WAM version and includes workaround for SPEC-3127. To
prevent repeated roles as much as possible, I'm using the
appid as a basis instead of "Webapp-" + host + port, which has
many chances to be redundant in the first 12 chars.
Bug-AGL: SPEC-2550
Bug-AGL: SPEC-3127
Signed-off-by: Lorenzo Tilve <ltilve@igalia.com>
Change-Id: I59c37ce79fec61ecd6ef36ff3f74902714a6b575
Jan-Simon Möller [Tue, 5 Nov 2019 11:21:37 +0000 (12:21 +0100)]
Declare layer compatibility with zeus
For the uprev to YP 3.0 zeus we need to update the layer compatibility.
Change-Id: I60cd58c0bb2d4106958255d61a6f05e5bb950c76
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Scott Murray [Mon, 20 Jan 2020 22:26:59 +0000 (17:26 -0500)]
meta-aac: Rework agl-voiceagent-alexa packaging
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>
George Kiagiadakis [Fri, 10 Jan 2020 10:27:14 +0000 (12:27 +0200)]
pipewire: add patch to fix random underruns
Bug-AGL: SPEC-3098
Change-Id: Id304bf6d1adcf7cd739b705a23772c25ce5258e8
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Jan-Simon Moeller [Sun, 5 Jan 2020 06:19:39 +0000 (07:19 +0100)]
alexa-voiceagent-service: Add the hls gstreamer plugin
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>
Scott Murray [Thu, 2 Jan 2020 21:19:49 +0000 (16:19 -0500)]
alexa-voiceagent-service: Add patch to fix event argument JSON
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)
Scott Murray [Mon, 30 Dec 2019 00:01:24 +0000 (19:01 -0500)]
alexa-voiceagent-service: support building in wakeword engine
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>
George Kiagiadakis [Thu, 19 Dec 2019 15:25:28 +0000 (17:25 +0200)]
bluez-alsa: update gst-helper to handle corking and use the Multimedia role on A2DP
Bug-AGL: SPEC-2792
Change-Id: I2247550d6059c31596651e84fdd617f849722422
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Thu, 19 Dec 2019 15:20:41 +0000 (17:20 +0200)]
wireplumber: update with bluetooth audio policy fixes
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>
Jan-Simon Möller [Wed, 18 Dec 2019 17:50:59 +0000 (18:50 +0100)]
Also let the user specify the wakeword engine status
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>
George Kiagiadakis [Tue, 17 Dec 2019 17:32:34 +0000 (19:32 +0200)]
wireplumber: update to master
* 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>
Jan-Simon Moeller [Sat, 14 Dec 2019 01:27:43 +0000 (02:27 +0100)]
Add mechanism to deploy the alexa-voiceagent credentials
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>
George Kiagiadakis [Thu, 12 Dec 2019 21:26:15 +0000 (23:26 +0200)]
wireplumber: conf: load module-session
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>
George Kiagiadakis [Thu, 12 Dec 2019 20:33:47 +0000 (22:33 +0200)]
agl-service-audiomixer: add DEPENDS on wireplumber
Latest changes require linking against wireplumber's library
Bug-AGL: SPEC-2986
Change-Id: I0524ec3f275add4bbdb57054a54c0c71e42db044
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Thu, 12 Dec 2019 19:54:25 +0000 (21:54 +0200)]
agl-service-audiomixer: change back to building from the default AGL branch
Bug-AGL: SPEC-2986
Change-Id: I27419168f98d615b38f498490c23f80d33963aea
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Thu, 12 Dec 2019 19:45:21 +0000 (21:45 +0200)]
wireplumber: update to master
* 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>
George Kiagiadakis [Wed, 11 Dec 2019 00:07:48 +0000 (02:07 +0200)]
wireplumber: update for bug fixes
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>
Jacobo Aragunde Pérez [Mon, 9 Dec 2019 07:20:39 +0000 (08:20 +0100)]
agl-profile-graphical-html5: Add packagegroup to IMAGE_INSTALL
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>
Jacobo Aragunde Pérez [Tue, 3 Dec 2019 10:53:34 +0000 (11:53 +0100)]
meta-html5-framework: rename layer and feature
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>
Jacobo Aragunde Pérez [Wed, 27 Nov 2019 10:05:01 +0000 (11:05 +0100)]
meta-html5-framework: define html-only image
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>
Matt Ranostay [Fri, 6 Dec 2019 00:29:45 +0000 (02:29 +0200)]
agl-service-audiomixer: add signal-composer to RDEPENDS
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>
George Kiagiadakis [Thu, 5 Dec 2019 15:08:12 +0000 (17:08 +0200)]
wireplumber: update to master as of Dec 5th 2019
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>
George Kiagiadakis [Thu, 5 Dec 2019 12:09:14 +0000 (14:09 +0200)]
pipewire: update to master as of Dec 5th 2019
* Refreshed & combined some patches
Bug-AGL: SPEC-2837
Change-Id: Ibd5849eff26bb51eb68580eac144aa07e646d127
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Ronan Le Martret [Fri, 29 Nov 2019 09:19:08 +0000 (10:19 +0100)]
Move packages from agl-core to agl-ivi
Bug-AGL: SPEC-2500
Change-Id: Ibe92d865556818697e311fb914f6e80b80143975
Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
José Bollo [Tue, 26 Nov 2019 18:51:47 +0000 (19:51 +0100)]
pipewire: Rework of security settings
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>
George Kiagiadakis [Mon, 18 Nov 2019 14:36:21 +0000 (16:36 +0200)]
wireplumber: update to master as of Nov 19th 2019
* 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>
George Kiagiadakis [Mon, 18 Nov 2019 14:25:34 +0000 (16:25 +0200)]
pipewire: update to master as of Nov 19th 2019
* 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>
George Kiagiadakis [Wed, 6 Nov 2019 13:07:52 +0000 (15:07 +0200)]
wireplumber: update to latest master
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>
Raquel Medina [Tue, 29 Oct 2019 18:58:02 +0000 (19:58 +0100)]
Revert "alexa-voiceagent-service: build in debug mode"
This reverts commit
479697d20ac25fa6c457e7ec2af78a0f145c8a49.
Bug-AGL: SPEC-2873
Change-Id: I1bcb38a4d629f3cd4203e14231c4927d4cba4607
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Raquel Medina [Thu, 31 Oct 2019 13:29:36 +0000 (14:29 +0100)]
alexa-voice-agent-service: fix segmentation fault in release mode
Bug-AGL: SPEC-2873
Change-Id: I3ada1a89e57aa879667e2a204a5f7572a59201ed
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Scott Murray [Wed, 16 Oct 2019 00:37:40 +0000 (20:37 -0400)]
meta-speech-framework: rework voiceagent configuration
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>
Scott Murray [Tue, 15 Oct 2019 18:03:53 +0000 (14:03 -0400)]
alexa-voiceagent-service: build in debug mode
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>
Antia Puentes [Mon, 7 Oct 2019 10:40:40 +0000 (12:40 +0200)]
wam: bump revision
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>
Scott Murray [Thu, 10 Oct 2019 14:35:34 +0000 (10:35 -0400)]
agl-service-voice-high: remove submodule usage
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>
Scott Murray [Thu, 10 Oct 2019 14:31:02 +0000 (10:31 -0400)]
agl-service-voice-high-capabilities: remove submodule usage
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>
George Kiagiadakis [Wed, 9 Oct 2019 09:41:11 +0000 (12:41 +0300)]
wireplumber: update configuration
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>
Antia Puentes [Mon, 7 Oct 2019 14:16:30 +0000 (16:16 +0200)]
chromium68: bump revision, it fixes a WAM crash in rpi
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>
George Kiagiadakis [Fri, 4 Oct 2019 20:07:46 +0000 (23:07 +0300)]
meta-pipewire: add recipe to build the bluez-alsa-pipewire gstreamer helper
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>
George Kiagiadakis [Mon, 7 Oct 2019 15:37:59 +0000 (18:37 +0300)]
wireplumber: update to latest master
* 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>
George Kiagiadakis [Mon, 7 Oct 2019 15:28:10 +0000 (18:28 +0300)]
pipewire: update to latest master
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>
Scott Murray [Tue, 1 Oct 2019 09:02:25 +0000 (05:02 -0400)]
alexa-voiceagent-service: update config and database file paths
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>
George Kiagiadakis [Tue, 1 Oct 2019 09:05:15 +0000 (12:05 +0300)]
pipewire: add patch to fix random sendmsg errors
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>
George Kiagiadakis [Tue, 1 Oct 2019 08:38:47 +0000 (11:38 +0300)]
wireplumber: remove residual config line
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>
Scott Murray [Mon, 30 Sep 2019 10:00:51 +0000 (06:00 -0400)]
agl-voiceagent-alexa: mask out curl bbappend
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>
George Kiagiadakis [Thu, 26 Sep 2019 14:55:46 +0000 (17:55 +0300)]
pipewire: update pipewire & wireplumber to the latest development version
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>
George Kiagiadakis [Thu, 26 Sep 2019 15:19:30 +0000 (18:19 +0300)]
audiomixer: temporarily disable code in audiomixer to make the build work
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>
Antia Puentes [Thu, 19 Sep 2019 16:16:13 +0000 (18:16 +0200)]
wam: auto-enable remote debug when agl-devel is on
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>
Scott Murray [Tue, 24 Sep 2019 12:18:03 +0000 (08:18 -0400)]
alexa-voiceagent-service: Add patch to update audio device configuration
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>
Scott Murray [Sat, 21 Sep 2019 17:33:45 +0000 (13:33 -0400)]
meta-speech-framework: aac-module-gstreamer: Add PipeWire support patch
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>
Scott Murray [Wed, 18 Sep 2019 17:02:26 +0000 (13:02 -0400)]
alexa-voiceagent-service: Update config.xml.in
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>
Scott Murray [Thu, 12 Sep 2019 17:30:23 +0000 (13:30 -0400)]
Add agl-voiceagent-alexa feature
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>
George Kiagiadakis [Thu, 5 Sep 2019 08:19:51 +0000 (11:19 +0300)]
wireplumber: update to fix mixer issue
Bug-AGL: SPEC-2797
Change-Id: I8f1d13c4e816706f96f4a7628d238877a0cd4c02
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Mon, 2 Sep 2019 14:36:59 +0000 (17:36 +0300)]
wireplumber: update to 0.1.1, which includes patches for bluetooth support
Bug-AGL: SPEC-2792
Change-Id: I6075539a4964e9fb638443e14cdcfa0d0028b81c
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
(cherry picked from commit
239d4051cc450dec1c65b47339e7df7833baa9a2)
George Kiagiadakis [Mon, 2 Sep 2019 14:33:03 +0000 (17:33 +0300)]
pipewire: add patches for bluetooth support
Bug-AGL: SPEC-2792
Change-Id: Ida682a405c4cc5d2f84a98cb71f89a7bb41ad489
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
(cherry picked from commit
c0eaa62e6fafd0b4cc057c0089ff110426bfde25)
George Kiagiadakis [Mon, 2 Sep 2019 14:52:31 +0000 (17:52 +0300)]
pipewire config: enable bluez modules in pipewire and wireplumber
In pipewire we only enable that if the bluez5 feature is enabled
because otherwise the module is not compiled and will error out
at runtime.
In wireplumber we always enable it since it does not depend on bluez.
Bug-AGL: SPEC-2792
Change-Id: I53bbc387bccd953633affd4fc34949a2fd488ed7
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
(cherry picked from commit
9fc6d8e9bbc9746777c03471b643992abcb182a5)
George Kiagiadakis [Tue, 3 Sep 2019 13:30:33 +0000 (16:30 +0300)]
pipewire: security-manager: add patch to grant dbus privilege to pipewire
Bug-AGL: SPEC-2792
Change-Id: Ie241273679f88e61e418bbb5518551ad33ff4b65
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Jacobo Aragunde Pérez [Tue, 27 Aug 2019 09:04:27 +0000 (11:04 +0200)]
chromium68: remove downstream backports
Bump revision to include:
*
3169198 [BACKPORT] skia: Build skcms with -mfp16-format=ieee on GCC ARM builds
*
6aa7e63 [BACKPORT] libavcodec: Remove dynamic relocs from h264idct_neon.S
These patches were being kept in the recipe, but there is no need for
that now.
Bug-AGL: SPEC-2506
Bug-AGL: SPEC-2514
Change-Id: I7dcd221c7f4fc179f2e686c8cc4eb619917ad9ab
Signed-off-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
Antia Puentes [Thu, 22 Aug 2019 11:09:28 +0000 (13:09 +0200)]
chromium68: bump revision
Commits included are backports from Chromium/Wayland upstream which
are part of the on-going work carried on SPEC-2266:
6a0470f2d03 [BACKPORT] [ozone/wayland] rely on implicit sync for Broadcom and Intel GPUs.
55acfb83ea4 [BACKPORT] [ozone/wayland] Use gbm with in-process-gpu mode
d58f1321884 [BACKPORT] ozone: xkbcommon: Pre-compute masks when setting keymap
ce84756108d [BACKPORT] ozone/wayland: xkbcommon: Fix layout switching
5e8508b280e [BACKPORT] ozone/wayland: Support NumLock in non-chromeos builds
7e90082ccfc [BACKPORT] ozone/wayland: Remove WaylandXkbKeyboardLayoutEngine
c74c5365d40 [BACKPORT] ozone/wayland: Fix NEO keyboards layout handling
1055757769d [BACKPORT] ozone/wayland: Support dead keys
e2648e9c17b [BACKPORT] Move CharacterComposer into //ui/base/ime
Besides:
*
1055757769d [BACKPORT] ozone/wayland: Support dead keys
fixes SPEC-2746
*
55acfb83ea4 [BACKPORT] [ozone/wayland] Use gbm with in-process-gpu mode
fixes SPEC-2699
Bug-AGL: SPEC-2266
Bug-AGL: SPEC-2746
Bug-AGL: SPEC-2699
Change-Id: I19eaa6bf225ac478386c53b94955ccb0a4856e62
Signed-off-by: Antia Puentes <apuentes@igalia.com>
(cherry picked from commit
d656495e536f0fefcbfde84599afd79b40aa3c88)
George Kiagiadakis [Mon, 29 Jul 2019 13:27:59 +0000 (16:27 +0300)]
pipewire: add patch to fix non-S16 negotiation issue
Bug-AGL: SPEC-2674
Change-Id: Id5b099a8efed2a2f9bdae142ef69bbc09deae8e8
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Fri, 26 Jul 2019 14:15:00 +0000 (17:15 +0300)]
wireplumber: add AGL-specific per-board config
Bug-AGL: SPEC-2662
Change-Id: If419c940e18feb46f42f9004479944bd395a3b4a
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Thu, 25 Jul 2019 09:38:30 +0000 (12:38 +0300)]
wireplumber: update to fix some bugs
George Kiagiadakis (5):
modules: initialize some spa_pod_builders inline
proxy: fix the naming of variables that point to the instance and private structures
Merge branch 'error-handling' into 'master'
simple-policy: do not leak client endpoints when rescanning
simple-policy: compare client creation times so that the "last one wins"
Julian Bouzas (6):
dsp: use the new WpProxyLink API
proxy: throw an error if the proxy is destroyed during async constructions
modules: handle error if the endpoint proxies could not be created
simple-policy: fix bug when finding endpoints
dsp: removed unneeded format property and always use the default format
simple-endpoint-link: skip already output linked ports
Bug-AGL: SPEC-2674
Change-Id: Ic35d9921dbd1e6d4f6302d326983a73436d2b8e6
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Stephane Desneux [Thu, 25 Jul 2019 16:02:37 +0000 (16:02 +0000)]
meta-html5-framework/wam: adjust how wam is started
WebAppMgr has to be launched for each user (but not through
the systemd user session as it would require too much privileges for the user).
For this purpose, we create a systemd service instanciated for each user
by the application framework through afm-user-session@ service.
This patch also distributes the environment and service file near the recipe
instead of having those integration files in the sources (it's easier to follow
AGL evolution without changing the upstream source code)
Also, for the HTML5 demos to work, each app must request the following permissions in
their config.xml:
<param name="urn:AGL:permission::public:display" value="required" />
<param name="urn:AGL:permission::public:audio" value="required" />
Bug-AGL: SPEC-2586
Change-Id: I4286fd9e1d1a1dcff48d3fdbfab2bf8d57f0fa0e
Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
Stéphane Desneux [Tue, 20 Nov 2018 19:41:35 +0000 (20:41 +0100)]
add markdown documentation for all machines and features
THIS IS STILL WIP - not all features/machines are described
Bug-AGL: SPEC-1902
Change-Id: I1808346276628caf6ae61d5e6d7ccade39241daf
Signed-off-by: Stéphane Desneux <stephane.desneux@iot.bzh>
Antia Puentes [Sat, 13 Jul 2019 10:24:16 +0000 (12:24 +0200)]
wam: bump revision, fixes related to the remote inspector
Included changes:
*
8271e13 [agl] Update the path for the Remote Web Inspector
*
f0166b5 [agl] Remote debugging should work only on debug mode
AGL-bug: SPEC-2327
AGL-bug: SPEC-2328
Change-Id: Iaee96758831d0d1e809bd10e0ce6dff445d6210a
Signed-off-by: Antia Puentes <apuentes@igalia.com>
Antia Puentes [Fri, 21 Jun 2019 14:38:37 +0000 (16:38 +0200)]
wam: add AGL_DEVEL flag if 'agl-devel' distro feature is on
We want the remote inspector to be available only in debug mode, i.e.
when the 'agl-devel' feature is on. We will use this flag to check
if that is the case.
AGL-bug: SPEC-2327
Change-Id: Ib22c5f21bc79afa4544b884238ca971d7bef6991
Signed-off-by: Antia Puentes <apuentes@igalia.com>
George Kiagiadakis [Fri, 12 Jul 2019 16:48:04 +0000 (19:48 +0300)]
wireplumber: add basic policy support based on role priorities
* Every client now has a priority based on its role
* For playback, we allow only a single client to play at a time
* For capture, we allow all clients to capture simultaneously
* Every time the "selected" device changes (either because devices
are discovered/removed or because the user changed the selection),
the clients are re-linked to the new "selected" device.
* When a playback client quits and there are others waiting unlinked,
the highest priority one is linked automatically.
* This also properly fixes re-linking the correct client(s) to the
correct device(s) when wireplumber exits and restarts.
George Kiagiadakis (7):
m-client-permissions: ref-count the client data and re-work code for safety
policy: take into account the role of the client when linking it
Merge branch 'doc-fix' into 'master'
Merge branch 'delay-unhandled-clients' into 'master'
config: allow nested blocks, in case a property has a dictionary value
policy: implement a basic policy based on role priorities
simple-policy: remove the idle callback when the object finalizes
Julian Bouzas (3):
Fix doc warnings
audio-client-module: added new module to load clients after softdsp endpoints are created
simple-policy: delay unhandled enpoints if target is not found
Bug-AGL: SPEC-2473
Change-Id: Ia37f236a8cac8b5f1f0d5e7409c50d4e7cb8a2da
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Thu, 11 Jul 2019 14:32:30 +0000 (17:32 +0300)]
pipewire: add and enable native gstreamer audio source & sink elements for pipewire
Bug-AGL: SPEC-2634
Change-Id: I10301e0c244fad60b31a4dfa6dc0dc61512a4867
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Wed, 10 Jul 2019 15:41:27 +0000 (18:41 +0300)]
wireplumber: update to latest version
George Kiagiadakis (18):
Merge branch 'unregister-fix' into 'master'
config: skip empty lines and comments (starting with #)
config: implement reading properties for modules from the config file
config: allow module property blocks to span multiple lines
config: ensure that both ABI and MODULE are specified before the properties
simple-policy: allow configuring the default audio devices via module arguments
config: enhance the configuration file with comments
Merge branch 'async-endpoint-links' into 'master'
Merge branch 'link-fix' into 'master'
softdsp-endpoint: actually register the streams
softdsp-endpoint: dont't add the stream-id field on the description of the master controls
softdsp-endpoint: move the selected control in the endpoint and simplify the id encoding
alsa-udev/softdsp-endpoint: make the stream names & count configurable
softdsp-endpoint/dsp: actually notify controls on the endpoint, not the dsp object
simple-policy: match the requested role to a stream in find_endpoint
mixer: implement listing controls of multiple streams
Merge branch 'multistream-softdsp-ep'
Merge branch 'stop-client' into 'master'
Julian Bouzas (21):
core: handle global references in a simpler way
endpoint: remove unneeded ref/unref
modules: unregister endpoints on global_removed instead of proxy destroyed
modules: disconnect the signals when the endpoints are destroyed
proxy: remove unneeded destroy signal
endpoint-link: make contruction async
factory: remove unneeded sync construction API
simple-endpoint: handle both input and output directions
simple-policy: handle both input and output clients
simple-endpoint-link: dont link already linked ports
softdsp-endpoint: add multiple streams support
softdsp-endpoint: change the control value properly
dsp: add support for convert mode
module-pipewire: always include the node Id in the endpoint name
proxy-link: add new API
endpoint: allow derived classes of endpoint-link to finish async construction
simple-endpoint-link: store the created links in a list
endpoint: destroy the link before removing them from the lists
endpoint: add wp_endpoint_unlink API
simple-policy: unlink the target endpoint if it is already linked
proxy: allow derived classes to finish its creation
Bug-AGL: SPEC-2473
Bug-AGL: SPEC-2572
Change-Id: I1f9ca82ef907ce7f04c977692b3707fe3ef283d2
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Wed, 10 Jul 2019 15:07:13 +0000 (18:07 +0300)]
pipewire: update patches
0004 adds a useful cli utility
0006 aids debugging
0007 fixes audio in qemu (SPEC-2570)
0008 & 0009 add functionality necessary for implementing multiple
streams per device
The rest is the same as before
Bug-AGL: SPEC-2570
Change-Id: If6736f0fc87491edce6981c0be44094239ddaa89
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Jacobo Aragunde Pérez [Wed, 10 Jul 2019 21:11:24 +0000 (23:11 +0200)]
chromium: fix launcher for halibut
Bumps revision and points to newly created halibut branch.
Included changes:
*
7dabb46 Do not set the user-data-dir.
*
f0821a3 Add the new display permission to config.xml.in.
AGL-Bug: SPEC-2612
Change-Id: Ie0bdc7dfc840523e262f34b53c2a6945743345dd
Signed-off-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
Antia Puentes [Thu, 4 Jul 2019 11:32:19 +0000 (13:32 +0200)]
chromium68: do not set mksnapshot path env vars
Bug-AGL: SPEC-2602
Change-Id: I7b8756d8be3384ccaff18ecbaf11bb163e2a3c3e
Signed-off-by: Antia Puentes <apuentes@igalia.com>
Jacobo Aragunde Pérez [Sat, 29 Jun 2019 11:49:30 +0000 (13:49 +0200)]
chromium68: fix aarch64 link issue
Backport upstream patch:
https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/
1390286
Fix this error when linking libcbe.so:
obj/third_party/ffmpeg/ffmpeg_internal/
autorename_libavcodec_aarch64_h264idct_neon.o:
relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol
`ff_h264_idct8_add_neon' which may bind externally can not be used
when making a shared object; recompile with -fPIC
Also remove the mksnapshot path override for aarch64, it is not
necessary now we run mksnapshot with qemu. This fixes the install
step.
Bug-AGL: SPEC-2506
Change-Id: Idb90c8c20910ec48ed01f1b02528f14781edc4a3
Signed-off-by: Nick Yamane <nickdiego@igalia.com>
Signed-off-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
George Kiagiadakis [Wed, 26 Jun 2019 15:01:30 +0000 (18:01 +0300)]
pipewire: install environment variable files
DISABLE_RTKIT saves us from nasty error messages about not being able
to connect to dbus. This doesn't make sense anyway, real-time mode
should not be enabled on embedded.
PIPEWIRE_DEBUG/G_MESSAGES_DEBUG are put there in comments so that
people can easily uncomment to figure out what is wrong with their
pipewire setup.
Bug-AGL: SPEC-2473
Change-Id: Id07d3d21f472885434158c300a227d53020c2189
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Wed, 26 Jun 2019 13:21:26 +0000 (16:21 +0300)]
meta-pipewire: add patch to security-manager for pipewire
This grants permission to all applications to be able to communicate
with pipewire. This is a temporary measure that we need to rethink
in the future.
This commit also changes the priority of the meta-pipewire layer
because the security-manager patch needs to be applied after the
patch to the same file from meta-app-framework, which has priority 70.
Bug-AGL: SPEC-2554
Change-Id: I9df47ea1a40e1fa97900bb5dbc21bc11765eb7ab
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Wed, 26 Jun 2019 12:00:32 +0000 (15:00 +0300)]
wireplumber: uprev
* adds support for managing client permissions (required for SPEC-2554)
* properly defaults to the first non-loopback device available on the system
* add support for linking all the stream channels instead of just one
George Kiagiadakis (7):
Merge branch 'registry' into 'master'
remote-pipewire: emit global-added for all proxy types
modules: add new module to manage client permissions
Merge branch 'async-endpoints' into 'master'
softdsp-endpoint: give a proper name to the endpoint based on alsa properties
simple-policy: select by default the first non-loopback device
softdsp-endpoint: fix compiler warnings
Julian Bouzas (8):
proxy: add wp_proxy_sync API and DONE signal
proxy: don't remove the listener on destruction as it is not needed
remote-pipewire: add registry listener
modules: use the registry from WpRemotePipewire
factory: add async support
endpoint: add async initable interface boilerplate
modules: make endpoint creation async
modules: add support for multiple channels linking
Bug-AGL: SPEC-2554
Change-Id: Ie1f42e096834c2cfbd2bade714e0546066f8fb7c
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Wed, 26 Jun 2019 11:48:29 +0000 (14:48 +0300)]
pipewire: run with the System::Pipewire smack label
Pipewire shares memory with its clients using open file
descriptors (memfd or shared memory file) which are created within
pipewire and therefore they have the same smack label as the
pipewire process. Clients must be able to read and write to this
memory, therefore they need rw acess to that smack label.
Since all AGL apps have only write access to the System label,
we need to use a different smack label which can be granted rw
access from the applications that need to use audio.
"System::Pipewire" is chosen here to follow the "System::Sub"
pattern that is described in the documentation.
Bug-AGL: SPEC-2554
Change-Id: I81cbf82adfde3ef4f67872bd91293370339b18d7
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Jacobo Aragunde Pérez [Wed, 26 Jun 2019 12:05:47 +0000 (14:05 +0200)]
wam: revision bump, fix linker issues
Included changes:
*
574c65b [agl] Explictly link WAM binary with WAMCore lib
*
9244327 [agl] Explicitly link WAM binary with ilmCommon library
Bug-AGL: SPEC-2532
Change-Id: I8ea9ed51d404b902d954f3e90a05daced7119361
Signed-off-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
Jacobo Aragunde Pérez [Mon, 17 Jun 2019 08:43:41 +0000 (10:43 +0200)]
wam: Remove any Qt dependencies and port to CMake
Recipe changed to use CMake instead of QMake.
After Qt usage removal from WAM implementation, boost is now
used for some functionalities previously provided by Qt (e.g:
File system). Additionally, add glib-2.0 missing dependency.
Finally, bump to latest WAM. Included changes:
3e9ce0d [agl][qtless] Port to CMake
971df2a [agl][qtless] Use unordered_map instead of std::map
aaa56e3 [agl][qtless] Get rid of Qt usage in webos/DeviceInfoImpl
20a1ec2 [agl][qtless] Remove Qt dependency from qmake files
2615c15 [agl][qtless] Use const char arrays instead of macros for WindowTypes
42770ee [agl][qtless] Trim timestamp string in NetworkStatus
0c7d257 [agl][qtless] Replace QLocale by Boost.Locale
45108f9 [agl][qtless] Remove QVariant leftovers
00f7a1f [agl][qtless] Add Url parsing code
9f74ec6 [agl][qtless] QString-less WAM: Remove leftovers
a5ebdc5 [agl][qtless] Migrate PalmSystem away from QString
41ecf4c [agl][qtless] Do not use QString in WebAppManagerConfig
815191c [agl][qtless] Do not use QString in NetworkStatus
47bd88b [agl][qtless] Do not use QString in WebPage
ba7ece0 [agl][qtless] Migrate WebAppWayland away from QVariant
903e2fa [agl][qtless] QString-less WebApp: Remove leftovers
502b9f6 [agl][qtless] QString-less WebApp/WebPage: appId
20f57de [agl][qtless] QString-less WebAppManager: SystemLanguage and DeviceInfo
e055f56 [agl][qtless] Do not use QString WebAppManager in JS strings building
8949895 [agl][qtless] Migrate WebAppManager away from QString
75aaf56 [agl][qtless] Get rid of QString usage in WebProcessManager
700e456 [agl][qtless] Migrate ApplicationDescription away from QString
ba798eb [agl][qtless] Replace Qt data container types by their STL counterpars
159cef4 [agl][qtless] Fix error handling when converting strings to numbers
9c875f1 [agl][qtless] Add StringUtils initial implementation
Bug-AGL: SPEC-1871
Change-Id: I7e7725e6a5e9790fd4660f104e4142084f100b62
Signed-off-by: Nick Diego Yamane <nickdiego@igalia.com>
Signed-off-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
(cherry picked from commit
fcfbd7497c73413bd35d1a641686f2c095626daa)
George Kiagiadakis [Mon, 24 Jun 2019 10:53:43 +0000 (13:53 +0300)]
agl-service-audiomixer: switch to gerrit
Bug-AGL: SPEC-2544
Change-Id: Ic9e2861518614425c394ab6b1dd050b221c0dc5a
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Mon, 24 Jun 2019 09:23:00 +0000 (12:23 +0300)]
pipewire: build with -mno-unaligned-access on arm
Bug-AGL: SPEC-2393
Change-Id: I2e4feef547642c2b3d34403f7a1a45999cd4db11
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Mon, 24 Jun 2019 08:16:29 +0000 (11:16 +0300)]
wireplumber: uprev to fix a few leaks and warnings
George Kiagiadakis (9):
softdsp-endpoint: workaround pipewire bug
Merge branch 'proxy-global-id' into 'master'
core: destroy globals in _dispose() so that the global-removed signal is dispatched
m-mixer: downgrade warnings about no backend to debug messages
m-simple-policy: find_endpoint: ref the endpoint only if it's not NULL
modules: do not leak references to the endpoints at their construction time
meson: add option to disable gobject introspection
proxy: avoid crashing when the WpProxy is unrefed in the "destroyed" signal handler
remote-pipewire: do not leak the GSource
Julian Bouzas (2):
proxy: add global_id property
audio-softdsp-endpoint: set module instead of core in the module data
Change-Id: I1e08ad7245f09110d599163775ecb382298b111b
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
George Kiagiadakis [Fri, 21 Jun 2019 17:02:53 +0000 (20:02 +0300)]
pipewire: switch system-wide template systemd service & socket files
This allows granting pipewire additional permissions, most notably
the permission to access the alsa devices (SupplementaryGroups=audio)
and therefore fixes pipewire for the "running as non-root" setup
Bug-AGL: SPEC-2554
Change-Id: Ie9192a7f42f4929f70114ddc39a23d94f9ba84fc
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Scott Murray [Thu, 20 Jun 2019 16:14:36 +0000 (12:14 -0400)]
pipewire: Enable Bluetooth support
Add DISTRO_FEATURES based enabling of bluez5 support to pipewire recipe
so the Bluetooth plugin is enabled for experimentation.
Bug-AGL: SPEC-2473
Change-Id: Ic63df580c4005e924a2172d2d513dbdca94457f4
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Jacobo Aragunde Pérez [Mon, 17 Jun 2019 11:12:00 +0000 (13:12 +0200)]
chromium68: custom toolchain, target v8 snapshot
Modify the chromium68 recipe to make it more like the one available in
meta-browser: https://github.com/OSSystems/meta-browser
Instead of passing Yocto's build flags to the cros (=ChromeOS)
toolchain, generate a toolchain definition file specifically for this
build.
For the generation of the V8 memory snapshot, build the required files
for the target architecture, then use qemu-native to run them.
Upstream chromium addresses this problem by downloading a specific
native toolchain for every target platform, which we cannot do in this
context.
The toolchain changes trigger an issue with ARMv7 builds; backported
one patch to address that specific issue.
This changes also triggered a problem with 32 bit targets, the
generated binaries were too big. Forced the DEBUG_ARGS to use -g1 (or
-g0 otherwise).
Bug-AGL: SPEC-2514
Change-Id: Ib18431b628415c58a3c29595bfff10057e355a4b
Signed-off-by: Jacobo Aragunde Pérez <jaragunde@igalia.com>
George Kiagiadakis [Tue, 18 Jun 2019 17:02:38 +0000 (20:02 +0300)]
pipewire: uprev wireplumber
George Kiagiadakis (19):
lib: add new WpPolicy class and basic policy management functionality
modules: re-implement the simple policy module using WpPolicy
m-pipewire: temporarily add the sync_core_with_cb hack
WpPolicy: add a way of signaling policy changes
Merge branch 'proxy-api' into 'master'
lib: add a new WpRemote base class and move the pw_remote glue into a new WpRemotePipewire
Merge branch 'use-proxy-api' into 'master'
endpoint: maintain a weak ref to the core since construction time
modules: fix some ref counting and memory {de-,}allocation issues
proxy: maintain a weak ref to the core
lib: add some debug statements to debug the destruction sequence
Merge branch 'refcount-fix' into 'master'
Merge branch 'unregister-endpoint' into 'master'
policy: consume floating reference of GVariant in _find_endpoint()
endpoint: add some useful API for querying info about streams & controls
core: remove_global: remove object from the list before triggering the notification
remote-endpoint: disconnect the control-value change callback when the proxy is destroyed
modules: move the "selected" endpoint logic to the simple-policy module and improve it
module-mixer: implement the "Mixer/Audio" endpoint provider
Julian Bouzas (9):
proxy: add API
modules: use the new proxy API
audio-softdsp-endpoint: fix proxy port property description
alsa-udev: fix minor bug
module-pipewire and simple-endpoint: use the new Proxy API
modules: fix proxy ref-count
proxy: add destroyed signal
modules: unregister the endpoints when their proxy is destroyed
proxy: remove unneeded core reference
Bug-AGL: SPEC-2518
Change-Id: Ia4c68ea5aa173add542a96b76f34bce68dcf103d
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Scott Murray [Wed, 12 Jun 2019 23:45:22 +0000 (19:45 -0400)]
pipewire: Add user session socket activation
Add a bbappend to the pipewire recipe to create the required symlink
in /etc/systemd/user/sockets.target.wants to enable per-user socket
activation. A bbappend is used as this change is likely to be AGL
specific (for now?).
Bug-AGL: SPEC-2521
Change-Id: I4b349ab8151eabfb933f2dcfcf9d293fcb3ea321
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
George Kiagiadakis [Tue, 11 Jun 2019 12:29:37 +0000 (15:29 +0300)]
pipewire: uprev wireplumber
George Kiagiadakis (16):
remote-endpoint: fix de-serialization of control id (Int instead of Id)
remote-endpoint: print error string in set_param implementation
m-pipewire/simple-endpoint: implement volume & mute controls
daemon: quit when the pipewire remote disconnects or signals an error
Merge branch 'endpoint-linking' into 'master'
Cleanup trailing whitespaces
softdsp-endpoint: restructure some code, fix some coding style issues
softdsp-endpoint: improve destruction sequence
softdsp-endpoint: copy format using standard struct assignment
softdsp-endpoint: destroy the DSP->node link when the DSP becomes idle
softdsp-endpoint: add master volume & mute controls
softdsp-endpoint: add the "selected" control
endpoint: ref the endpoint while unregistering
remote-endpoint: do not require a stream id on controls
softdsp-endpoint: automatically deselect other endpoints when one is selected
simple-policy: link client to the "selected" endpoint
Julian Bouzas (3):
endpoint: set core to null after unregistering endpoint and not before
modules: add softdsp-endpoit and endpoint linking implementations
simple-policy: add new module
Bug-AGL: SPEC-2473
Change-Id: Idace93865cf62016fac5b7ad9b45a888153e0d97
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Jan-Simon Möller [Tue, 11 Jun 2019 23:12:45 +0000 (01:12 +0200)]
Fix the LIC_FILES_CHKSUM of the pipewire-conf-agl package
We were missing the
LIC_FILES_CHKSUM = "file:///${COMMON_LICENSE_DIR}/MIT;md5=
0835ade698e0bcf8506ecda2f7b4f302"
Bug-AGL: SPEC-2473
Change-Id: Ic7751ceb08fef1f19426e66c850740abf653fef7
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Jan-Simon Möller [Tue, 11 Jun 2019 22:57:17 +0000 (00:57 +0200)]
Fix PREFERRED_RPROVIDER for pipewire-config
Fix a typo.
Bug-AGL: SPEC-2473
Change-Id: I37d4698d9e750833fc94491f2c5c5225d7d9adbc
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Harunobu Kurokawa [Mon, 10 Jun 2019 11:09:26 +0000 (20:09 +0900)]
weston: change wl_output of virtual display.
Bug-AGL : SPEC-2420
Currently, if remoting is enabled, the remote output
location is (0, 0) and the real DRM output is located
to the right of the remote output because the remote
output is registered before the real DRM output.
This patch is swapping both outputs as a short term
hack[1].
Now, this issue is being discussed about output layout
configuration in wayland community[2]
[reference]
[1] https://gitlab.freedesktop.org/wayland/weston/issues/246
[2] https://gitlab.freedesktop.org/wayland/weston/issues/165
Change-Id: Ia1265b6c2767f32754a2fd6507d1b6ebcb773464
Signed-off-by: Harunobu Kurokawa <harunobu.kurokawa.dn@renesas.com>
Harunobu Kurokawa [Mon, 10 Jun 2019 07:23:24 +0000 (16:23 +0900)]
gst-record: switch to remote plugin from old style gst-record
weston 6.0.0 has already merged remoting plugin feature.
This commit enable to add remoting plugin library.
To activate remoting output and transfer it, user should add
"remote-output" configuration in weston.ini.
Bug-AGL : SPEC-2420
Change-Id: Ieeb3760ece5c6a1d19f9a08ee7f0ed973cc433ec
Signed-off-by: Harunobu Kurokawa <harunobu.kurokawa.dn@renesas.com>
build.automotivelinux.org [Tue, 11 Jun 2019 13:41:33 +0000 (15:41 +0200)]
Use the AGL-specific package of the pipewire config file
We have our own configuration of the pipewire.conf file that we ship in a
dedicated package.
Change-Id: Ifb79ceaf19970d81eb526309eeed3e3a7c420da4
Bug-AGL: SPEC-2473
Signed-off-by: build.automotivelinux.org <jenkins@automotivelinux.org>
George Kiagiadakis [Mon, 10 Jun 2019 11:38:22 +0000 (14:38 +0300)]
meta-pipewire: add agl-service-audiomixer
Bug-AGL: SPEC-2473
Change-Id: I406e11a59223f1ded486eb9235604e1e35af84e1
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Jan-Simon Möller [Sun, 9 Jun 2019 21:11:58 +0000 (23:11 +0200)]
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>