diff options
Diffstat (limited to 'src/4a-internals-hal/4a-internals-hal-mixer-link.c')
-rw-r--r-- | src/4a-internals-hal/4a-internals-hal-mixer-link.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/4a-internals-hal/4a-internals-hal-mixer-link.c b/src/4a-internals-hal/4a-internals-hal-mixer-link.c index 95e9099..4e0398e 100644 --- a/src/4a-internals-hal/4a-internals-hal-mixer-link.c +++ b/src/4a-internals-hal/4a-internals-hal-mixer-link.c @@ -58,9 +58,11 @@ int InternalHalHandleMixerData(afb_api_t apiHandle, case json_type_object: mixerDataNb = 1; break; + case json_type_array: mixerDataNb = (unsigned int) json_object_array_length(currentDataJ); break; + default: mixerDataNb = 0; AFB_API_ERROR(apiHandle, "No data returned"); @@ -104,7 +106,6 @@ int InternalHalHandleMixerData(afb_api_t apiHandle, currentDataVerbName); err += (int) MIXER_ERROR_STREAM_NOT_ADDED; } - break; case MIXER_DATA_PLAYBACKS: @@ -114,8 +115,8 @@ int InternalHalHandleMixerData(afb_api_t apiHandle, currentMixerData->verb = strdup((dataType == MIXER_DATA_PLAYBACKS) ? HAL_PLAYBACK_ID : HAL_CAPTURE_ID); currentMixerData->verbToCall = strdup(currentDataVerbName); - if((! currentMixerData->verb) || - (! currentMixerData->verbToCall)) { + if(! currentMixerData->verb || + ! currentMixerData->verbToCall) { HalUtlRemoveSelectedMixerData(mixerDataList, currentMixerData); err += (int) MIXER_ERROR_STREAM_ALLOCATION_FAILED; } @@ -169,7 +170,11 @@ int InternalHalHandleMixerAttachResponse(afb_api_t apiHandle, struct InternalHal return (int) MIXER_ERROR_API_UNAVAILABLE; } - if(wrap_json_unpack(mixerResponseJ, "{s?:o s?:o s?:o}", "streams", &mixerStreamsJ, "playbacks", &mixerPlaybacksJ, "captures", &mixerCapturesJ)) { + if(wrap_json_unpack(mixerResponseJ, + "{s?:o s?:o s?:o}", + "streams", &mixerStreamsJ, + "playbacks", &mixerPlaybacksJ, + "captures", &mixerCapturesJ)) { AFB_API_ERROR(apiHandle, "Can't get streams|playbacks|captures object in '%s'", json_object_get_string(mixerResponseJ)); return (int) MIXER_ERROR_DATA_UNAVAILABLE; } @@ -227,14 +232,15 @@ int InternalHalAttachToMixer(afb_api_t apiHandle) return -1; } - if(! (ctrlConfig = (CtlConfigT *) afb_api_get_userdata(apiHandle))) { - AFB_API_ERROR(apiHandle, "Can't get current hal controller config"); + ctrlConfig = (CtlConfigT *) afb_api_get_userdata(apiHandle); + if(! ctrlConfig) { + AFB_API_ERROR(apiHandle, "Can't get current internal hal controller config"); return -2; } currentHalData = (struct HalData *) getExternalData(ctrlConfig); if(! currentHalData) { - AFB_API_ERROR(apiHandle, "Can't get current hal controller data"); + AFB_API_ERROR(apiHandle, "Can't get current internal hal controller data"); return -3; } @@ -386,4 +392,4 @@ int InternalHalGetInfoFromMixer(afb_api_t apiHandle, } return 0; -}
\ No newline at end of file +} |