summaryrefslogtreecommitdiffstats
path: root/4a-hal/4a-hal-controllers/4a-hal-controllers-mixer-handler.h
diff options
context:
space:
mode:
authorJonathan Aillet <jonathan.aillet@iot.bzh>2018-06-11 01:45:57 +0200
committerJonathan Aillet <jonathan.aillet@iot.bzh>2018-10-08 15:52:51 +0200
commit757c9b407938b65b1e31ccc62217910d4f942dcb (patch)
treee64b7259dcd1ac8cc3f5b00b16e4dd2294495af1 /4a-hal/4a-hal-controllers/4a-hal-controllers-mixer-handler.h
parent611de9da40615bc5092eca407e399db3f3a2eaa6 (diff)
Update 4a-hal to work with new 4a-softmixer
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>
Diffstat (limited to '4a-hal/4a-hal-controllers/4a-hal-controllers-mixer-handler.h')
-rw-r--r--4a-hal/4a-hal-controllers/4a-hal-controllers-mixer-handler.h25
1 files changed, 20 insertions, 5 deletions
diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-mixer-handler.h b/4a-hal/4a-hal-controllers/4a-hal-controllers-mixer-handler.h
index 74bca88..9218ed4 100644
--- a/4a-hal/4a-hal-controllers/4a-hal-controllers-mixer-handler.h
+++ b/4a-hal/4a-hal-controllers/4a-hal-controllers-mixer-handler.h
@@ -26,19 +26,34 @@
#include "../4a-hal-utilities/4a-hal-utilities-data.h"
-#define MIXER_ATTACH_VERB "create"
+#define MIXER_ATTACH_VERB "attach"
+#define MIXER_INFO_VERB "info"
+
+#define HAL_PLAYBACK_VERB "playback"
+#define HAL_CAPTURE_VERB "capture"
+
+// Enum for the type of object sent back by the mixer
+enum MixerDataType {
+ MIXER_DATA_STREAMS = 1,
+ MIXER_DATA_PLAYBACKS = 2,
+ MIXER_DATA_CAPTURES = 3
+};
// Enum for the type of error detected
enum MixerStatus {
MIXER_NO_ERROR=0,
MIXER_ERROR_API_UNAVAILABLE=-1,
- MIXER_ERROR_NO_STREAMS=-2,
- MIXER_ERROR_STREAM_NAME_UNAVAILABLE=-10,
- MIXER_ERROR_STREAM_CARDID_UNAVAILABLE=-1000,
- MIXER_ERROR_COULDNT_ADD_STREAMS_AS_VERB =-100000,
+ MIXER_ERROR_DATA_UNAVAILABLE=-2,
+ MIXER_ERROR_DATA_EMPTY =-3,
+ MIXER_ERROR_DATA_NAME_UNAVAILABLE=-10,
+ MIXER_ERROR_DATA_CARDID_UNAVAILABLE=-1000,
+ MIXER_ERROR_STREAM_VERB_NOT_CREATED =-100000,
+ MIXER_ERROR_PLAYBACK_VERB_NOT_CREATED =-4,
+ MIXER_ERROR_CAPTURE_VERB_NOT_CREATED =-5
};
// HAL controllers handle mixer calls functions
int HalCtlsAttachToMixer(AFB_ApiT apiHandle);
+int HalCtlsGetInfoFromMixer(AFB_ApiT apiHandle, char *apiToCall, json_object *requestJson, json_object **toReturnJ);
#endif /* _HAL_CTLS_SOFTMIXER_LINK_INCLUDE_ */ \ No newline at end of file