summaryrefslogtreecommitdiffstats
path: root/4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c
diff options
context:
space:
mode:
authorJonathan Aillet <jonathan.aillet@iot.bzh>2018-06-03 19:16:32 +0200
committerJonathan Aillet <jonathan.aillet@iot.bzh>2018-10-08 15:51:00 +0200
commit67fc2c25d727888cb45a847971771f34674b68ff (patch)
tree4fab47f096de6a897f8f33028ad8072d7bd07815 /4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c
parent70108117e5f392eff2710d5d6a0cd04e400e4cde (diff)
Handle hal status using card presence and mixer init
Test audio card presence at hal startup using alsacore call. Handling a new state of hal. Move alsacore link files into 4a-hal-controllers. Check state of hal before mixer initialization call. Actualize hal state if mixer initlialization ends well. Add a sndCardId filed to 'SpecificHalData' structure which will contain audio card if (from alsa). Change-Id: I2e82a14ee6ba6e63f06fe2b498587783941b7b98 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
Diffstat (limited to '4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c')
-rw-r--r--4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c b/4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c
index 972cc53..6656ddc 100644
--- a/4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c
+++ b/4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c
@@ -29,6 +29,7 @@
#include "../4a-hal-utilities/4a-hal-utilities-verbs-loader.h"
#include "4a-hal-controllers-api-loader.h"
+#include "4a-hal-controllers-alsacore-link.h"
#include "4a-hal-controllers-cb.h"
// Default api to print log when apihandle not available
@@ -90,7 +91,6 @@ static int HalCtlsInitOneApi(afb_dynapi *apiHandle)
// Fill SpecificHalDatadata structure
currentCtlHalData->internal = (unsigned int) true;
- currentCtlHalData->status = HAL_STATUS_UNAVAILABLE;
currentCtlHalData->apiName = (char *) ctrlConfig->api;
currentCtlHalData->sndCard = (char *) ctrlConfig->uid;
@@ -105,8 +105,11 @@ static int HalCtlsInitOneApi(afb_dynapi *apiHandle)
currentCtlHalData->ctlHalSpecificData->ctlHalStreamsData.count = 0;
- // TODO JAI: Search for hw sndCard
- // TODO JAI: Update alsa command of HalCtl to use alsa-softmixer/alsa-core data
+ if(HalCtlsGetCardIdByCardPath(apiHandle, currentCtlHalData))
+ currentCtlHalData->status = HAL_STATUS_AVAILABLE;
+ else
+ currentCtlHalData->status = HAL_STATUS_UNAVAILABLE;
+
// TODO JAI: handle refresh of hal status using /dev/snd/byId (or /dev/snd/byId)
return CtlConfigExec(apiHandle, ctrlConfig);