aboutsummaryrefslogtreecommitdiffstats
path: root/4a-hal
AgeCommit message (Collapse)AuthorFilesLines
2018-11-02Force each hal to have its own ctl section dataJonathan Aillet1-2/+6
Force each hal api to have its own controller section data, it is very usefull if different hals don't have the same onload/events/... actions. Change-Id: Iaf3c2059a774ef8ec4f7262064d1cfa8d8159d91 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-11-02Use ctl defines to call afb functionsJonathan Aillet10-69/+72
Use controller 'afb-defintions.h' defines to call application framework functions. Change-Id: If9599b0397a593440ce2e08f039dc279c63f7428 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Move hal sections callbacks after plugin callbackJonathan Aillet1-2/+2
Into the controller section array, move hal sections callbacks after plugin callback so it will be executed before everything else. Change-Id: Id80063caae3b089e6ccef79a7b54a82b16600375 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Move mixer attach into its controller sectionJonathan Aillet2-17/+16
As the mixer section is obtained during a call of a controller section callback (during api pre-initilization), 'attach' call to 'mixer' has been moved in the same callback (called a second time during api initialization). Change-Id: I17f54aab1b9616649bfcb183297ba8128621a7c2 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Remove unnecessary 'function' string in printsJonathan Aillet8-110/+86
Function's names was printed using '__func__' when calling application framework prints functions. But, as the application framework prints functions already prints them, '__func__' has been removed from print calls to avoid duplicated information. Change-Id: I0dea49a9d84b7ccdbdaecec67ced6c98b5ed26d6 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Use correct file to include controllerJonathan Aillet2-2/+2
Use correct file ('ctl-config.h') instead of (''ctl-plugin.h) to include controller. Change-Id: I93a1bcb5dab51211532fc59ffd979ea7acad1530 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Force hals init before ending hal-manager initJonathan Aillet2-1/+14
Force launched hals initialization before ending hal-manager initialization. This way, external api requiring 'hal-manager' will be sure that all launched hals are initialized. Change-Id: I00b9b14da623828d7cf7bc507873ad6de8ba2391 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Decrease level of a msg printed in event catcherJonathan Aillet1-5/+5
Decrease level of a message printed in event catcher to avoid polluting debug logs. Change-Id: Id222ddc958f9550da19507537944319888bac016 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Add bluetooth hal pluginJonathan Aillet1-1/+1
Add first version of a hal plugin that will handle hal that wants bluetooth as an audio device. Change-Id: I4f5628ef9688c417b1b443fc3c4948cb23c17214 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Remove unnecessary 'struct' before json_objectJonathan Aillet1-2/+2
Remove unnecessary 'struct' before json_object. Change-Id: Id5106c87780ebbf1eff8bd3754d59e1184e37216 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Correct an error when unpacking alsacore responseJonathan Aillet1-1/+1
Correct an error when unpacking alsacore event subscription response. Change-Id: I39d331303d99363c36444fa642e8cb4ca16e84d8 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Correct errors in hal-utilities-data prototypesJonathan Aillet2-10/+10
Functions can now returns a -int ... Change-Id: If2732bfc8fdc2566da520fcb104b9a595ac2caa6 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Correct error print when attaching to mixerJonathan Aillet1-1/+1
Correct print when attach to mixer results in an call sync error. Change-Id: Id0c06d2c449d2b3dd56822674f496e0f52c31c27 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Update binding entry for app-fw v3.Jonathan Aillet1-1/+1
Update binding entry to became compatible with application framework v3 (used since AGL FF-RC1 release) Change-Id: Ib51e4a41629b73e849f56c6d0987955a373f1e59 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Simplify ping verb call print outputJonathan Aillet1-1/+1
Simplify ping verb call print output to avoid any issues in relation with app-framework binder version. Change-Id: I538498c98c458e67e8d98d455def12935c16f830 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Update version of conf.d/app-templates submodule.Jonathan Aillet1-3/+3
Changes of conf.d/app-templates: (291aa4e - Romain Forlot) Change the default debug compilation options. (22a2cbf - Romain Forlot) Clearer coverage compilation options configuration (aa68dbd - Romain Forlot) Don't overwrite the autobuild script if it exists (a13e7b9 - Romain Forlot) Disable the in-tree build method. (51026d2 - Romain Forlot) Detect Yocto as OS distribution (1f2944e - Romain Forlot) Fix: wrong compile options added (92646f6 - Romain Forlot) Fallback using zip format if no wgtpkg-pack found (f65761c - José Bollo) 02-variables.cmake: Avoid checking CXX version if not required (3965d37 - José Bollo) config.cmake.sample: Remove dependency to libsystemd (a45ae0c - José Bollo) config.cmake.sample: Remove dependency to libmicrohttpd (9b17efe - Thierry Bultel) Added -D_FORTIFY_SOURCE=2 to CFLAGS (66f7bc8 - Thierry Bultel) start-on-target: uses RSYNC_PREFIX path for config (e400fb3 - Sebastien Douheret) Fixed spelling. Also, corrects warnings that appeared with this bump. Change-Id: Iec94bb4f49a6ce2b6cdb32154dc47ef7a31c614c Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Update version of app-controller submodule.Loïc Collignon1-6/+2
Changes of app-controller: (0f3063b - Romain Forlot) Be able to dispatch required api at the wanted time (1ff524b - Romain Forlot) Change LUA package path at LUA interpreter load (738ae54 - Romain Forlot) Don't load two times a plugin even for LUA (c04f029 - Sebastien Douheret) Fixed hidden bound variable (apiHandle) (cfe3919 - Sebastien Douheret) Fixed null value when push Lua arguments (69c0585 - José Bollo) Adjust to compile with incoming bindings v3 (d7e260c - José Bollo) Remove declaration to not existing functions (8ac6625 - Romain Forlot) Add 2 lua utilities function (d3504bb - Jonathan Aillet) Update README.md for new metadata keys. Change-Id: Iee42482b7a6834977497c27fe634cee9a5f96e0c Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
2018-10-08Improve hal list response from hal-managerJonathan Aillet1-42/+35
Improve 'loaded' verb response from hal-manager by only sending back the hal with the 'READY' status. Also add two boolean options to this verb call : - 'verbose' option to get all information of the hal. - 'all' option to get all hal and not just the 'READY' ones. Change-Id: I23d3d8ab75b429b2938249d10adbb67073eff259 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Remove boolean libraryJonathan Aillet13-18/+5
As it was almost never used in code, remove boolean library. Change-Id: I9264ffd5600a7d9526f4f4cfa8209a0cd0e5bb77 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Free json objects that should have been freedJonathan Aillet4-86/+123
Free json objects that should have been freed after use. Change-Id: Ifb3dab9672d0c039292ae05f23ade008fe82ade8 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Correct handling of incomming json messagesJonathan Aillet3-6/+13
Correct handling of incomming json messages. An error occured when a received json object was an array containing only one item. Change-Id: I2c6f27f0fd87e11c356b8d4e6bd02d472bc3d60b Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Authorize launching 4a-hal with no config fileJonathan Aillet1-3/+3
Now, even if no json audio configuration files are found at binding launch, it won't fails to initialize and will be reachable nethertheless. Change-Id: If7dd0798ef4b262eda98c5dbcc7dd6d9b1b108b5 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Correct the request return when calling a streamJonathan Aillet1-8/+8
Correct the request return when someone tries to execute an action on a stream. Now, it is successfull if the mixer says so even if no response object was returned. Change-Id: Iee965db3e826ed9040c4b2bf50eaf9090584c1bc Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Delay event parsing to be the lastJonathan Aillet1-13/+18
Delay event parsing to be the last. This is to avoid receiving events before everything is parsed. Do some minor layout changes. Change-Id: I0fd3f8d387c27471657c58ca8c4ea5828c002e23 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Optimize alsacore event handlerJonathan Aillet1-18/+14
Optimize alsacore event handler by avoiding generating a string to detect an alsacore event. Change-Id: I7498e99741b2b7095076016143ec8be6520ee122 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Authorize empty response from mixerJonathan Aillet1-4/+4
Authorize empty response from mixer because a hal could configure no streams/captures/playbacks. Change-Id: I59b703aca72e8a70e10d41b28a95c3a022797a89 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Call onload section to before halmap sectionJonathan Aillet1-3/+3
Call onload section to before halmap section. This will be usefull if we want to execute action before the first alsa calls. Change-Id: Ia1b6428d322fb94538fee7b69b4886ab419a597c Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Correct a failed request warning messageJonathan Aillet1-1/+1
Correct a failed request warning message. Change-Id: Iefdf1cb29af55dc1f4ea098ede032c33fb3b4138 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Change verb prefix separator accroding to mixerJonathan Aillet1-1/+1
Change verb prefix separator charactor accroding to mixer. Change-Id: Ifbeb715490371ffdf835599b47076d8c17447571 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Auithorize sending empty json to verbsJonathan Aillet2-13/+11
Auithorize sending empty json to hal-manager 'loaded 'verb and to hal 'info' verb. Change-Id: Id664b0335ad80f88392dd24cd910016deaad25e3 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Move onload section parsing lastJonathan Aillet1-1/+1
To avoid onload action to be launch before the configuration sets in other sections, parse onload section last. Change-Id: Icdc77239a9784e559bd9df130d3dc63c7ba5801b Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Revert "Move controller config exec before onload action"Jonathan Aillet1-8/+4
This reverts commit 19080e452e5ae909f64e09a4edfe9c57fbac43a4. Change-Id: I82c8f0a867a20995443f0cd600d5118ee9e3128d Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Return the result of call to mixerJonathan Aillet1-7/+20
Return the response field of mixer reponse to the caller of stream/capture/playback verbs. Force the verbose key in sent object. Change-Id: I5b87da0042c86c6b7dc8853af66cddd2f6819532 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Correct some compilation warningsJonathan Aillet4-6/+6
Correct some compilation warnings that appeared in some gcc versions. Change-Id: I846c573f3128f7d5d5da8b7d2eb1b63dc61af1ab Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Correct a cast errorJonathan Aillet1-1/+1
Correct a cast error that was causing a segfault in some unknown condition. Change-Id: I96c89c04d4f6bd5177446c56b4c50cbab30b4830 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Print some errors in info verbsJonathan Aillet3-11/+18
Print errors info when an error happen during call to mixer 'info' verb. Change-Id: Ic3b0b6312743af3ba41a7868d1347ce6b0fcc8cd Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Test 'asprintf' returnJonathan Aillet1-1/+4
Test 'asprintf' return to avoid compilation warning when building with yocto. Change-Id: I322890a149aff86c30afc7a654540d82dc0a8957 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Use structure defined in controller to load verbsJonathan Aillet4-13/+10
Use structure defined in controller to load verbs into an api using 'HalUtlLoadVerbs' function. Change-Id: I57aabf9ce2c580fc98b7ea8438cd01083e032ac2 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Rename files handling call/response of mixerJonathan Aillet5-5/+8
Rename files handling call/response of mixer. Change-Id: I070f109e2f0249b74548ae7dc7b84793926cb261 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Update 4a-hal to work with new 4a-softmixerJonathan Aillet6-127/+315
Update 4a-hal to work with new 4a-softmixer version : - Update audio configuration files to match the configuration format expected by the mixer. - Parse mixer attach response to get information about 'streams', 'playbacks', and 'captures'. store them in new field of controller hal data structure. - Create verb for each returned stream, but only one playback/capture verb even if threre are multiple playbacks/captures returned by the mixer attch verb. - Return 'streams', 'playbacks', and 'captures' when info verb is called. - If info verb is called with a json request, the request is transfered to the mixer. Change-Id: I65593281c34aa91ad87afbf8bebff755cc5cc6d0 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Correct a syntax mistake in function declarationJonathan Aillet1-1/+1
Correct a syntax mistake in 'HalCtlsNormalizeJsonValues' function declaration. Change-Id: If8f32c9f55a7c8b1075a5b493d467e66d4b2c1f6 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Change mixer data structures namesJonathan Aillet3-7/+7
Change mixer data structures names bacause we won't only stores streams data anymore. Change-Id: Id7e4482b6a69696d156c6a8bfc8f8d231dba9d2c Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Change name of 'list' verb to 'info'Jonathan Aillet3-3/+3
Change name of 'list' verb to 'info'. Change-Id: I9062344b67cc2c19bce9a34d4ac7abfc1baa9428 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Move controller config exec before onload actionJonathan Aillet1-4/+8
Before, the onload action specified in the audio configuration file (see controller documention) was exectued before the sections configuration execution call. So, the onload action was launched before the hal was ready. Now, onload action is launched last. Change-Id: I05d46622b938ae5a818bd404779a2263ed334397 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Add search for a concurent hal at mixer attachJonathan Aillet1-3/+19
At hal mixer attach, add search for an already ready hal using the same alsa audio device id. If this concurent hal exists, return an error. Change-Id: Ia17738fe87c7bc82fa1867ecd031dd07ffa73714 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Add a function to search for hal using its dev-idJonathan Aillet2-0/+20
Add a function that allows to search for an already ready hal using its device id. This function will be useful at mixer attach of hal to check if the alsa device id is not already attach by another hal. Change-Id: I2f46dca19a98310064ed1af772425bd9186e0a75 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Return an error when hal attach to mixer fails.Jonathan Aillet1-1/+3
Return an error when hal is not successfully attach to mixer. Change-Id: Ibfacf405153e87d8005feba17f963b2f49caad7a Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Change paramters in functions handling hal dataJonathan Aillet4-28/+30
Change paramters in functions handling hal data structure. Now, the only thing you need to add/search for/remove something in hal data structure list is the address of the first element of the list instead of the address of the whole hal manager data structure. Change-Id: Iafa7428735c3aa418a6ef6564f9acde8f44e7dfe Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Add device id when hal metadata are askedJonathan Aillet1-7/+18
Add device id to response when hal metadata are asked (with verb 'loaded'). Also handle this metadata when an external hal is registered (verb 'loaded'). Change-Id: I25fafce13c8a215ed5991cfee2a399d8d6631c47 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Use a local strucuture to store hal manager dataJonathan Aillet2-7/+18
Use a local strucuture to store hal manager global data. Also declare a function that allows to get the first hal data structure in the list managed by hal manager. Change-Id: I4b36030435bca506b5ba3a08dfbca039eb02e43e Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>