summaryrefslogtreecommitdiffstats
path: root/meta-audio-4a-framework
AgeCommit message (Collapse)AuthorFilesLines
2018-12-20bluez-alsa: removed the PCM hack, and build a shared libThierry Bultel6-1063/+924
This removes the deprecated PCM proxy hack, and brings mandatory features for the softmixer. This change applies on top of the latest bluez-alsa master of 2018-12-04 and brings 3 patches: 1) builds a shared library and links bluez-alsa and ioplug controls & pcm to it. 2) func log by default 3) increase the number of max connections from clients (pcm & ctrls) ----- Upstream status for the patches: 1) pending. Based on a submitted PR that is not clean enough and that the maintainer does not want to take before at least 6 months https://github.com/Arkq/bluez-alsa/pull/95 2) pending. Was submitted as part of the Ofono support in bluez-alsa, but was not retained. See the original PR for Ofono for that. 3) pending. The maintainer is OK with this but wants to refactor the client-server protocol in the coming months. In a private mail of 12/06/2018: "Yes, you can increase this hardcoded limit as a temporary workaround. I've put in there (and made it rather low) as a reminder, that clients are stored in the list, which might not be optimal for larger number of connected clients. In the future bluealsa will support audio mixing, so connecting many clients to a single transport will be a common case. So, I've thought about incorporating more efficient structure for storing (in particular searching) connected client - something with log(n) search complexity. Then, it might be worth to implement this container to be dynamic with an upper capacity limit (which might be high, like 200-300 clients)." Change-Id: Ia771613a7a83cc9ed6108399cdaacdeda603d39b Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-12-19move 4a-hal-unicens (plugin) to gerritTobias Jahnke1-4/+4
Bug-AGL: SPEC-1505 Change-Id: Ia9e2098ecaede966a49e9926a915c31dc7470813 Signed-off-by: Tobias Jahnke <tobias.jahnke@microchip.com>
2018-12-14Bump snd-avirt revisionMark Farrugia1-1/+1
Crucial fixes, including cure for potential kernel panic crash Change-Id: I3d163e1a5a1c387d09481d162f748e3b63c288d2 Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-12-07Move hal configuration files into own repositoryJan-Simon Möller10-33/+182
... and own recipe This allows to manage the various types of configuration files independently of the source code as these might not always fit into the git repo context-wise. Initial recipe is 4a-hal-device-config.bb . This is re-using the same mechanism as previously used. Samples for alternative implementations and vendor hals are included as well to explore improved ways of handling the multipe configuration files possible. Bug-AGL: SPEC-2011 Change-Id: Ib04b5c4e7b764bed85dbceb50a62a8c6fd031c5a Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
2018-11-30Change 4a-softmixer SRC_URI to gerritguppy_6.99.2guppy/6.99.26.99.2Jan-Simon Möller1-1/+1
Change the softmixer SRC_URI to gerrit. Change-Id: I54e78d80a83e9ff7e8726ecd803ec10eb8dbdc70 Bug-AGL: SPEC-1731 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
2018-11-294a: adjust 4a_wait_bt.sh due to changes in bluetooth-manager APIStéphane Desneux1-2/+2
The verb 'power' is now replaced by 'adapter_state'. The response object is also different (no compatibility with older API). Bug-AGL: SPEC-1630 Change-Id: I2e08c33e2936d93cfdec0c498570c77177a4b81e Signed-off-by: Stéphane Desneux <stephane.desneux@iot.bzh>
2018-11-28hal-unicens: bump unicens hal to newest versionTobias Jahnke1-1/+1
Bug-AGL: SPEC-1505 - enables audio to unicens sound card - cleanup of plugin implementation - removed legacy stream, pcm playback volume - ensure init success to allow loading the plugin Change-Id: I0d7afd1c76d2b913e3684bbbcbc599f315061d85 Signed-off-by: Tobias Jahnke <tobias.jahnke@microchip.com>
2018-11-234a-hal-unicens: add HAL for unicensguppy_6.99.1guppy/6.99.16.99.1Tobias Jahnke2-6/+18
Bug-AGL: SPEC-1505 - enabled 4a-hal-unicens recipe again - updated srcrev of github repo - modified project name to match install folder Change-Id: I9afa86afa602845bf783a41b09f590344f26c095 Signed-off-by: Tobias Jahnke <tobias.jahnke@microchip.com>
2018-11-22bump softmixer to latest version (bug fixes)Thierry Bultel1-1/+1
This bring these commits: b678f3 config.cmake: bump the needed version of alsalib to 1.1.6 a84a93 Remove an unfilled response json object a07c4c removed the dependency to alsalib-1.1.6 for host 70fb34 Lower the verbosity when not in debug level b34cd9 Migrate app-templates to CMake module 58d666 Merge pull request #2 from iotbzh/app-templates-migration 03aa71 config.cmake: fixed a typo ca6383 alsa-core-pcm: fixed the mute logic 0e37ab Tweaking debug prints 92e038 Handle too small card PCM buffer when writing a17d52 Fix the error string of attach actions 118377 remove dead code and renamed unobvious variables Change-Id: Ie3e922f423ec9d6ba38c35263183d0e9143e5958 Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-11-20Add initial recipes for snd-avirt driverMark Farrugia5-0/+132
The snd-avirt driver will provide an enhanced, dynamic ALSA loopback interface for 4a-softmixer, and provides the audio framework for low-latency audio hardmixers such as the Fiberdyne DSP onboard the Xtensa HiFi2, and the UNICENs Fiberdyne smart amplifier. Included are backport patches for kernels 4.12 and 4.9. Change-Id: I8b23507d7179d10dfa70b7f2f899db4534690392 Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-11-15Add cmake-apps-module dependencyRomain Forlot1-1/+1
This fix bindings installation when they don't use the aglwgt main class Change-Id: I0868e0c6df757c5025fc4f9d21e46f8441646506 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-11-09meta-audio-4a: remove UNICENS legacy halTobias Jahnke2-2/+1
Bug-AGL: SPEC-1505 - Remove UNICENS legacy hal from build until the new hal plugin is available - Remove ldpath which was required to load the legacy hal (avoids binder startup error since the path is no longer available) Change-Id: If25094d4f944e887fed0ed10c5cae8049ce6db82 Signed-off-by: Tobias Jahnke <tobias.jahnke@microchip.com>
2018-10-13Bump 4a-hal-unicens to latest revisionJan-Simon Möller1-1/+1
Include the update from Tobias Change-Id: Id60efedc0b65dba8d5caf8c1a2455378e6c4435b Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
2018-10-094a: Use '4a-hal-generic' gerrit repositoryJonathan Aillet1-3/+3
Use '4a-hal-generic' gerrit repository instead of github one. Bug-AGL: SPEC-1405 Change-Id: I08f6db8b3e339520dfc21410db0627dc6f7c3a86 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-024a: Update 4a-hal-generic for UpSquared boardJonathan Aillet1-2/+2
This commit bump '4a-hal-generic' to have Intel UpSquared hal available in ./4a-hal-generic/etc.available/. An update of the recipe is also made to automatically deploy Intel UpSquared hal in ./4a-hal-generic/etc/. when compiling AGL for 'intel-corei7-64' platform. * a94119d Correct typo in Intel UpSquared hal * 2b64aed Update clone commands in README.md * 4a2672a Update 'halmap' section of Intel UpSquare hal * 424263f Merge pull request #2 from dominig/master |\ | * a35e146 4a hal for Intel UpSquare via HDMI socket |/ * 226f16b bluetooth: set audio rate to 44100 Bug-AGL: SPEC-1751 Change-Id: I31d8e9845b50bf59f514eb10f54ee950a0d42e9a Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-09-284A: delay service startup as a workaround to SPEC-1762/SPEC-1763 (temp ↵Stephane Desneux2-0/+97
workaround) This patch introduces a wait loop before starting the 4A binder: * wait for bluetooth module to be loaded * wait for bluetooth controller to be up & running * wait for bluetooth manager to be initialized Then 4A can start with BT-audio support. If no BT controller is detected in 5secondes, the loop exits and 4A doesn't initialize BT-Audio Bug-AGL: SPEC-1762, SPEC-1763 Change-Id: Ibe851dee871d183511c7bca03411b35ed023f422 Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2018-09-264a: Update 4a-hal-generic for bluetoothJonathan Aillet1-1/+1
This commit bump '4a-hal-generic' to have bluetooth enable by default. * 49a750a hl-bt: Check that hal is available in init * 7e5def8 hal-bt: Use plugin name definition in prints * 94b3f13 Move hal sections callbacks after plugin callback * b3bcfa3 Update version of app-controller submodule. * bd3eacc hal-bt: Enrich 'halmixer' section in plugin init * afbfe30 Remove unnecessary sections in hal json * 805d820 Update version of app-controller submodule. * be77f4a hal-bt: Use plugin name in onload/init prints * 69dcbdc hal-bt: Check presence of a bluetooth receiver * 5286e67 hal-bt: Move bluetooth api require into init * 0b3aa49 Move mixer attach into its controller section * 1e97df9 Remove unnecessary 'function' string in prints * 69b46ba Update version of app-controller submodule. * 09886e3 Added radio stream to all the HALs * 2bb89c9 kingfisher: merged the radio HAL into the main HAL * 22836af Add ctl actions needed by Hal-Bt in plugin init * 2a74ac8 Update version of app-controller submodule. Bug-AGL: SPEC-1679 Change-Id: I50ad36b3a04014b415d18828267b98ee8b9be246 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-09-134a: Add Bluetooth in 4aguppy_6.90.0guppy/6.90.06.90.0Jonathan Aillet2-2/+2
This commit bump '4a-hal-generic' and '4a-softmixer' to support bluetooth in 4a. 4a-hal-generic: * 9663aa7 Add hal json with bluetooth for reference boards * 4d00451 Handle error send by Bluetooth-Manager * 78a4665 Get bluetooth device interface from path in HalBt * 65cd769 Correct a typo in debug print of Hal-Bt plugin * 63e018e Prevent segfault when receiving request in Hal-Bt * 75bf441 hal-bt-data: ignore devices with no UUIDs * a20f6e4 Free afb call sync json returned object in Hal-Bt * b112013 Improve Hal-Bt print messages * c2c29ef Improve Hal-Bt plugin A2DP bt devices detection * 50ae4e9 HalBt plugin keeps list of connected A2DP devices * 57f4078 Use correct file to include controller * e6472ad Improve Hal-Bt plugin event catcher behaviour * 4ce9b2a Prevent Hal-Bt plugin from crashing 4A * 342913c Correct an error in Hal-Bt when calling 'mixer' * 509f6b1 hal-4a-rcar-m3-bt.json: removed the plugin search path * 43820da hal-bt! display error messages of sync calls * 43577d8 Update version of conf.d/app-templates submodule. * 05238f6 Update version of afb-helpers submodule. * 916b0f5 Implement link with softmixer in hal-bt plugin * fae4cf3 Get hal data in hal-bt plugin * 6ea2ba2 Test afb require result at hal-bt plugin load * 8f3ead9 Add handling of hci and profile in hal-bt plugin * 5fceccb Fix little mistakes/typo in hal bluetooth plugin * 3524254 Force hals init before ending hal-manager init * 5446354 Decrease level of a msg printed in event catcher 4a-softmixer: * b678f39 config.cmake: bump the needed version of alsalib to 1.1.6 Bug-AGL: SPEC-1679 Change-Id: I8eb5efb404c531339ba5668a1bf131368a233b8f Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-09-11bump 4a-softmixer to the latest versionThierry Bultel1-1/+1
This brings this commit: 13fd8b9 bluez-alsa: fixed the null device logic Change-Id: I921b7e14611c5d81f6caede36b00aed0633aa5ce Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-09-11bluez-alsa: added patch for null deviceThierry Bultel2-0/+47
This closes the transport connection when a null device is specified. Change-Id: I6d69c68a2ca91bd9fb3d7fdf51f470f243e76d5f Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-09-09Merge "Change libhomescreen-2017 to libhomescreen"flounder_5.99.6flounder/5.99.65.99.6Jan-Simon Moeller1-1/+1
2018-09-07[4A] Bump 4a-hal-generic and 4a-softmixer (inc. MinnowMax fix)Stephane Desneux2-2/+2
Alsa devices mapping on Minnowboard Max has changed since the initial HAL definition and multiple subdevices are now seen on HDMI card. These changes must be reflected in 4a-softmixer and HAL definition. Other fixes for upcoming BT support are also included. New revision for 4a-softmixer includes: * 9c0aa9f fixed crash upon misconfiguration of capture/playback devices * 168e928 dmix: used device when in name of slave * 80deafb Added bluez sound playback support New revision for 4a-hal-generic includes: * 9276521 minnow board: fixed the pcm device in json config * be379b3 Use latest version of app-controller submodule. * f5113a0 Add bluetooth hal plugin * 33bc780 Remove unnecessary 'struct' before json_object * 9ab8302 Correct an error when unpacking alsacore response * 1ef27b6 Correct errors in hal-utilities-data prototypes Bug-AGL: SPEC-1692, SPEC-1679 Change-Id: Ie99d6cd7dd13fd27b095e2de7c7160dc92890c98 Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2018-09-07Change libhomescreen-2017 to libhomescreenzheng_wenlong1-1/+1
Change libhomescreen-2017 to libhomescreen. Change-Id: Ia436650481637fc4b64329b2bc8ec296ac37c9d0 Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
2018-08-31Merge "set LIBASOUND_THREAD_SAFE=0 for 4a"Jan-Simon Moeller1-0/+1
2018-08-31[4A/bluez-alsa]: use temporary solution pcm alsa-proxyStephane Desneux2-0/+1021
This plugin always keeps the opened PCM in a consistent state for the sound application, despite of bluez-alsa server or device disconnection. Bug: SPEC-1679 Change-Id: I0caaa6abe6fb9133b4d43479d452e542a04620c3 Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh> Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2018-08-31set LIBASOUND_THREAD_SAFE=0 for 4aThierry Bultel1-0/+1
Since the integration of bluez-alsa support in softmixer, and as warned by the readme of bluez-alsa, there are potential (and effective !) deadlocks in libasound. These deadlocks come especially when uing ioplug PCMs. This hack disables the calls to snd_pcm_lock/unlock in libasound. Notice that the design that consists in using such PCM plugs for communicating with the bluealsa daemon is just a short term solution. When the direct support of bluezalsa communication is integrated in the softmixer, that hack should be removed. Change-Id: Ib6376fd2e145b3240ab1a68b9c760ff9e4c063c4 Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-08-29Merge changes Ie6c96000,I2b966142Jan-Simon Moeller1-4/+4
* changes: pulseaudio-module-4a: fix install files path to use the libdir variable pulseaudio-module-4a: Update repository URL and revision
2018-08-284a-mixer: Fix tap_shortcut case issue.José Bollo1-1/+1
Bug-AGL: SPEC-1653 Change-Id: I56de64336f30fa70a3c20650e61b16f31135bfe6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-08-28pulseaudio-module-4a: fix install files path to use the libdir variableGeorge Kiagiadakis1-1/+1
Change-Id: Ie6c96000db81c0d439b326d55dc6eb250f91f679 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2018-08-28pulseaudio-module-4a: Update repository URL and revisionGeorge Kiagiadakis1-3/+3
Change-Id: I2b9661423bcce6da82566e8e44dfd06208f5d381 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2018-08-03Merge "4a-softmixer: bump revision (submodules update, less verbosity)"Jan-Simon Moeller1-1/+1
2018-08-014a-softmixer: bump revision (submodules update, less verbosity)Stephane Desneux1-1/+1
This includes: * ded8e37 Bump revisions for all submodules * a226d89 Reduce verbosity of message "readThreadEntry..." The latest commit ded8e37 on 4a-softmixer might help to solve SPEC-1639. Bug-AGL: SPEC-1639 Change-Id: I07d5e227a108565d7a8732289bef64cb611d3f1f Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2018-08-01packagegroup-agl-audio: install pulseaudio-module-4a-client together with 4aGeorge Kiagiadakis1-0/+1
Change-Id: I2e58d3da03fb82bdb93d09d651c5939521470c62 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2018-08-01meta-audio-4a-framework: pulseaudio: fix the default.pa fileGeorge Kiagiadakis1-22/+66
* load module-4a-client if available * load some other necessary functionality * keep bluetooth support out for the moment (will not work with 4a) * keep the original copyright and comments as it is a modified version of the file shipped by upstream Change-Id: I2915c161aadc3b1a1e82f81d3bd8a29a6ccc2cfb Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2018-08-01meta-audio-4a-framework: add recipe for pulseaudio-module-4a-clientGeorge Kiagiadakis1-0/+20
Change-Id: I40be2fb1f572c5275057e970782437bdf47e1887 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2018-07-244a-mixer: remove useless dependency on pulseaudioRonan Le Martret1-1/+0
4a-mixer has no dependency on pulseaudio. Bug-AGL: SPEC-1234 Bug-AGL: SPEC-1601 Change-Id: Iaeb0450a00281c95c6c146fb330c219887559a30 Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
2018-07-24Fix yocto virtual recipes parsingRonan Le Martret2-0/+2
* When you have RPROVIDES_${PN} += "virtual/something" you should have PROVIDES += "virtual/something" too It's ovoid yocto parsing ERROR. (like remove pulseaudio from DISTRO FEATURE) Bug-AGL: SPEC-1601 Change-Id: Ia242f8f62b795ca98e933a8241be36a68ae1f30c Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
2018-07-24Merge "4a-hal-generic: bump revision (inc. first rev for RPI3 HAL)"Jan-Simon Moeller1-1/+5
2018-07-24Merge "Add python3-websockets for devel feature"Jan-Simon Moeller2-1/+17
2018-07-24Merge "4A: disable pulseaudio alsa plugin"Jan-Simon Moeller1-2/+2
2018-07-24Merge "4a-softmixer: bump to latest version"Jan-Simon Moeller1-2/+2
2018-07-24Merge "Cleanup deprecated 4A configuration files"Jan-Simon Moeller3-657/+1
2018-07-24Merge "meta-audio-4a-framework: add recipe for 4a-tools"Jan-Simon Moeller2-0/+23
2018-07-244a-softmixer: bump to latest versionStephane Desneux1-2/+2
This takes these latest commits: * 320d8f9 Updated the readme.md * 1db3552 rework the sound capture & playback model * 712b3a2 added ringbuffer and time utils Change-Id: Ia2aaecd4761a37e1600394ff72dba5b81ffe37a4 Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh> Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2018-07-24Cleanup deprecated 4A configuration filesRonan Le Martret3-657/+1
* This was the alsa configuration files for 4A. Now the pcm are dynamic. 4A-FF.RC2 Change-Id: Ia72752d9721daa917d46e5a9cfe802c93c15c52f Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
2018-07-244a-hal-generic: bump revision (inc. first rev for RPI3 HAL)Stephane Desneux1-1/+5
This patch introduces the following changes on 4a-hal-generic: * e949092 hal-4a-raspberry-pi-3: add a WARNING related to RPI3 sound driver bug * 01d3370 Correct 'volume' control in Minnowboard hal * 7fea639 Add Raspberry Pi 3 HAL * 2ce8a00 Correct error print when attaching to mixer * c05faaf Update version of conf.d/app-templates submodule. * 744af17 Update version of app-controller submodule. * 39fda4b Update version of afb-helpers submodule. * 492caab Remove trailing white spaces in radio config file * 2ef5026 Added a radio to 2 channels playback .json example Note that due to a bug in RPI3 sound card driver, no sound is produced on RPI3 with internal card. 4A works on other devices (USB for example). Bug-AGL: SPEC-1610 Change-Id: I14c581269945306e205808b53f9d5c7f60f8af88 Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2018-07-24Add python3-websockets for devel featureRonan Le Martret2-1/+17
* Backport python3-websockets from meta-openembedded Change-Id: Ifa9d081df5adbbf4021f3da49b48f5b7c97b9fc5 Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
2018-07-24meta-audio-4a-framework: add recipe for 4a-toolsStephane Desneux2-0/+23
4a-tools contains tools, scripts and data to test the 4A stack Change-Id: Ie445cd00fcb11ad079f325995f9f46c2d19e7700 Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh> Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
2018-07-244a: pin all revisions for repos in src/Stephane Desneux5-6/+4
The rule is to have apps/* repositories to use AGL_APP_REVISION (tested in CI as apps builds in SDK) and to have src/* use pinned revisions (tested in CI as image builds). This commit fixes the recipes in 4a layer that were not following the rule. Bug-AGL: SPEC-1600 Change-Id: I81dd77a653a23adf45bdb0c6d969a3ad9ab849a9 Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2018-07-234A: disable pulseaudio alsa pluginRonan Le Martret1-2/+2
This fix should be revert, if pulseaudio is remove from DISTRO_FEATURES (as a option) Bug-AGL: SPEC-1234 Change-Id: I68ce35a620a107d09a0fbe85cf05fe2abfb7902e Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>