Age | Commit message (Collapse) | Author | Files | Lines |
|
Remove hal api and hal data if an error happened at hal initialization.
Also prevent binding to stop if a hal failed to init.
BUG-AGL: SPEC-2652
Change-Id: Ifcef2fdf135e152f300febf6a934e43352f86fc2
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add utilities files to create/delete hal apis while adding hal data
to hal data list.
Use it to create new hal apis.
BUG-AGL: SPEC-2652
Change-Id: I62e99cda31bb2c6f597da27960102c036a25b733
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Correct error level when a mandatory hal-dependencies is not available.
BUG-AGL: SPEC-2652
Change-Id: I053913a83be8124eaac26dd4f2cd28d1e5ff5083
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Correct typo in stream handling files.
BUG-AGL: SPEC-2652
Change-Id: I3a1ee384dabf564b9d4903e2bac51210d357ff8f
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
As we are now using haldependencies to get hal card number(s),
it does not make sense to store a global card number for a hal.
BUG-AGL: SPEC-2329
Change-Id: If5beb84b71b5e5e67aeabd947b5c3edbf154fa3c
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Use haldependencies section definition to process and
to handle halmap section.
That means that each 'halmap' control can use its own probed
audio device card number using a targeted dependencies.
Also, change halmap section definition to be able to handle
several halmap defined with the same dependencies.
Update example hal to match new json file format.
BUG-AGL: SPEC-2329
Change-Id: I31997a037ee8f0e727e0a67866d651b988b85260
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Avoid overwriting stored ALSA control properties data
when only calling to get current ALSA control values.
BUG-AGL: SPEC-2329
Change-Id: Iaaef1266aea334c8799ab31fd2e523871be9b3a7
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Avoid getting ALSA control properties if the structure
to store them is not allocated.
BUG-AGL: SPEC-2329
Change-Id: If5fbacc7616250d8abf86f561f51a147868fea07
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Use a dynamically allocated structure to store properties
about ALSA controls (halmap).
BUG-AGL: SPEC-2329
Change-Id: I691648452d6c950d201bc25977a493608fede197
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Use of linked list for 'halmap' data instead of a fixed array.
It uses the same mechanism already implemented for other linked list.
BUG-AGL: SPEC-2329
Change-Id: I2ff9c9a797a5547cd74f0240c5b7573a02c90781
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Rework json strings allocation/freeing because :
- Some json strings are freed twice.
- Some containing strings json are not correctly freed.
BUG-AGL: SPEC-2329
Change-Id: I90f9470c6a4bc4b1641a01dd2da5051da1ff9547
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Move function used to process all halmap json objects.
BUG-AGL: SPEC-2329
Change-Id: I692b1810ce2298b24198a001c26b9233740ca31a
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add function to get probed device card number using its uid.
BUG-AGL: SPEC-2329
Change-Id: I75bd368d0b1d0ab6d41fc0d75b30511fa7e8584f
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add a function to handle selected dependency using its uid.
BUG-AGL: SPEC-2329
Change-Id: I0e92448f9102bc5e6e0f19d1598d75c1ba782863
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Refactoring 'hal data' linked list code using liburcu.
BUG-AGL: SPEC-2329
Change-Id: Ia51d362f96838f4b5bb77e8d1b85fa8d1ab4bed1
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Refactoring 'streams data' linked list code using liburcu.
BUG-AGL: SPEC-2329
Change-Id: Idf9367c015d73574d96d83c82a9e8f5b7588a45d
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Refactoring 'probed devices' linked list code using liburcu.
BUG-AGL: SPEC-2329
Change-Id: I4d0255bc020733b1abbea1f3e6195c73cf8da8f6
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Move function used to test if a dependency is selected.
BUG-AGL: SPEC-2329
Change-Id: Ic577a33741d705e09dd14a48dde0483db792b97d
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add all 'hal-dependencies' compact json info in response of
hal-manager 'loaded' verb call.
BUG-AGL: SPEC-2329
Change-Id: I45a94c80be078236fbc581e62654f5261e1b281e
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add available 'hal-dependencies' full json info in response
of hal 'info' verb call.
BUG-AGL: SPEC-2329
Change-Id: I74615b84d015d142a6aebc291fb9e849a053344a
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Send available 'hal-dependencies' compact json info with mixer attach
call to allow mixer to use 'hal-dependencies' for audio cards
detection/resolution.
BUG-AGL: SPEC-2329
Change-Id: I0e64a45bc9296e1aa1310f6c01b1ebbce8524dcd
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add functions to generate 'hal-dependencies' information json.
Provide two type of json generation ('compact' with only
extended card number info, and 'full' with all ALSA card info).
Provide function to get information about all 'hal-dependencies' and
another function to get information about validated 'hal-dependencies'.
BUG-AGL: SPEC-2329
Change-Id: If04cbbab7c79a066d2d03fa5ff16ea698de9b018
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Correct an wrong declared enumeration by setting first enum
item at '0' instead of '1'.
BUG-AGL: SPEC-2329
Change-Id: Ia142e5c64d2e6a5415f27edc87fa0787d2088f5c
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Prevent errors when multiple devices are found by a 'hal-dependency'
BUG-AGL: SPEC-2329
Change-Id: I276cc7abe19d5c0ee27ee3a8950271f58dd14f04
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Move functions used to generate hal information json into
there corresponding files in hal-utilities.
BUG-AGL: SPEC-2329
Change-Id: Id518e7f732ef393bbf98f3b3a32edf01ec81f70c
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Split too long function declarations in hal-utilities.
BUG-AGL: SPEC-2329
Change-Id: Ia8a18844dd7db52b19db366d737240286d04f9cd
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add prints when a controller error is detected at
json loading/exection.
BUG-AGL: SPEC-2329
Change-Id: I8b3319115ce98694e7f382fd39c39e5422a38021
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add forgotten spaces in some multi-lines prints.
BUG-AGL: SPEC-2329
Change-Id: I84457ac695a613b3cf280c3e8fb4f25b71070438
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Rework internal hals event handling to avoid :
- rare segmentation fault.
- too early alsa-core events subscription.
- use of not available data.
BUG-AGL: SPEC-2329
Change-Id: Ib84103682614b80bca3c0c2251779775cd35744f
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add 'haldependencies' section into handled section table.
Also, add a function to redirect to 'processing' and
to 'handling' functions depending hal initialization stage.
BUG-AGL: SPEC-2329
Change-Id: I4fa09493fecf48844bff171e2e8ca764f9fe8f18
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add functions to handle new 'haldependencies' section.
This new section will be used to probe for multiple audio device
using only one hal. Each probed device could be 'mandatory',
'dynamic' (optional but periodically probed),
or 'static' (optional and probed only at startup).
The result of handling this section will be used by softmixer and
in 'halmap' section.
BUG-AGL: SPEC-2329
Change-Id: Ib763b86c0f306abba7a886f5a348d5414ab5e88d
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add functions to process new 'haldependencies' section.
This new section will be used to probe for multiple audio device
using only one hal. Each probed device could be 'mandatory',
'dynamic' (optional but periodically probed),
or 'static' (optional and probed only at startup).
The result of handling this section will be used by softmixer and
in 'halmap' section.
BUG-AGL: SPEC-2329
Change-Id: Id4ea2a9c5d87158f0cfa9a88bc5c9296770a6a9b
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add function to handle probed audio device list.
This list will be used to store incoming 'haldependencies'
section data. It will also be used to store audio card information
resulting from probing requested audio devices specified
in 'haldependencies' section.
BUG-AGL: SPEC-2329
Change-Id: Iaa9aaba7a01263ca2d17be01c32803702568d614
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
'uid' field is currently used to store the audio device to
search for the hal. But with haldependencies' feature,
'uid' field won't be used to search for the audio device anymore.
So, 'uid' field is stored elsewhere into the hal data structure
(returned when asking for hal informations).
BUG-AGL: SPEC-2329
Change-Id: Ib3b2b3bacaecfa80a51f94f9d6874789baba0224
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add 'HalCtlsGetCardInfo' function to call 'infoget' verb
of 'alsacore' api.
Use this function for all call to 'infoget' to avoid duplicated code.
BUG-AGL: SPEC-2329
Change-Id: I66436af87126258773c332ed4cc2df013acd306d
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Rework mixer answer handling to make it simpler and
to avoid fanciful returns.
Add some error prints to help diagnostic in case of
mixer answer handling error.
BUG-AGL : SPEC-2329
Change-Id: I14fe86496585bdc66b8aa761f4ff2c56333c5515
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Remove obsolete links to playbacks/captures softmixer controls.
These links are not used anymore (only 'halmap' controls are used).
It also means that references to controls in 'halmixer' section
of json configuration files must be removed (as it's done for example
json configuration file in this commit).
BUG-AGL : SPEC-2329
Change-Id: Ic5a7f055d09b44021d817c04d56023fed3c0e478
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Remove obsolete global variable set for 'afb_helpers'.
BUG-AGL: SPEC-2329
Change-Id: I41ec3d486a893a940cd96779d07ab61799a76e13
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Remove use of a global variable for hal-manager data.
BUG-AGL: SPEC-2329
Change-Id: Ifc5a85aedb75f89a364de1411c1e12f293095550
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Improve search for specific mixer data in linked list when the search
is using stream properties.
BUG-AGL: SPEC-2329
Change-Id: Idd5ea0540ace508b8b8351f38a3832f7d0f8a760
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Improve static verbs loading by using 'afb_api_set_verbs_v3'
application_framework function.
BUG-AGL: SPEC-2329
Change-Id: I3fe5397316d4a582635da637ab6a207b606c496e
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Concern several types of allocation such as :
- malloc/calloc
- json_object_new_*
- wrap_json_pack
- strdup
BUG-AGL: SPEC-2329
Change-Id: Iffe2a6a44ef4df2ed0ec4d159682159db5e78cfb
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Correct mistakes due to use of unsigned returns.
Also, simplify use of int by replacing 'int8_t'
and 'int64_t' types by plain 'int' type.
BUG-AGL: SPEC-2329
Change-Id: I24fe273c5a233762c072f7bc9e79eab32a1c824c
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add freeing of halmap data table in case of error
when parsing 'halmap' section.
BUG-AGL: SPEC-2329
Change-Id: Ic2c819dfc3155122ade0f37bb06fa304f4859779
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Add forgotten freeing of hal data when removing hal from linked list.
BUG-AGL: SPEC-2329
Change-Id: Iddef1c1f23be587792907f4ab009a2567f4b7834
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Normalize coding style among project :
- When possible, set the variable outside test in 'if' statement.
- Remove fanciful returns.
- Split too long lines.
- Remove unnecessary '\n' into prints.
- Normalize use of tabulation.
- Use 'afb_req_fail' instead of 'afb_req_fail_f' when possible.
- Add some error prints.
BUG-AGL: SPEC-2329
Change-Id: I14867e05e02b4c4c0389108c335fec2d2aa27495
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Correct mistakes and update some entries in 'config.cmake' file.
BUG-AGL: SPEC-2329
Change-Id: Iaf3c92ab8bf8a9246ab51c0a8d8943bdf55f02dc
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Reorganize repository directories to clarify code use.
BUG-AGL: SPEC-2329
Change-Id: Ia9be0c1818cb2e331e75b51a87fcb2820407c1d8
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
The purpose of this commit is to have of a more standard way to
name files and functions used to generate/handle hal api
(generated from hal json configuration file).
It occurred to me that 'hal-controller' was not a good name
because it is harder for people who don't know about
the app-controller to understanded what is the purpose of
these files/functions.
It was renamed to 'internal-hal' because it's about hal
that are all handle/load by hal-manager in opposition of
external-hal that are independant binding/binder that can register
themselves to hal-manager.
BUG-AGL: SPEC-2329
Change-Id: I11b7efe64ec474b004a2a15ed8969b9db95d428f
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Clarify use of linked list by renaming some variables and functions.
BUG-AGL: SPEC-2329
Change-Id: I21ada0b2914c99dfeecfcb6b55c8976dee1a0cd7
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|