aboutsummaryrefslogtreecommitdiffstats
path: root/src/4a-internals-hal/4a-internals-hal-mixer-link.c
diff options
context:
space:
mode:
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.c14
1 files changed, 9 insertions, 5 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 56dc840..a1b87b0 100644
--- a/src/4a-internals-hal/4a-internals-hal-mixer-link.c
+++ b/src/4a-internals-hal/4a-internals-hal-mixer-link.c
@@ -142,7 +142,7 @@ int InternalHalHandleMixerAttachResponse(afb_api_t apiHandle, struct InternalHal
return 0;
}
-int InternalHalAttachToMixer(afb_api_t apiHandle)
+int InternalHalAttachDependencyToMixer(afb_api_t apiHandle, struct InternalHalProbedDevice *probedDeviceToAttach)
{
int err = 0, mixerError;
@@ -194,9 +194,10 @@ int InternalHalAttachToMixer(afb_api_t apiHandle)
return -6;
}
- dependencyJ = HalUtlGetJsonArrayForAllDependencies(apiHandle,
- &currentHalData->internalHalData->probedDevicesListHead,
- DEPENDENCY_COMPACT_JSON);
+ dependencyJ = HalUtlGetJsonArrayForAllDependenciesInfoWithHandledDependency(apiHandle,
+ &currentHalData->internalHalData->probedDevicesListHead,
+ DEPENDENCY_COMPACT_JSON,
+ probedDeviceToAttach->uid);
if(! dependencyJ) {
AFB_API_ERROR(apiHandle, "Didn't succeed to generate available dependencies compact json array");
return -7;
@@ -251,10 +252,13 @@ int InternalHalAttachToMixer(afb_api_t apiHandle)
MIXER_ATTACH_VERB,
apiToCall,
json_object_get_string(responseJ));
- currentHalData->status = HAL_STATUS_READY;
}
}
+ if(err)
+ probedDeviceToAttach->mixerLinkStatus = DEPENDENCY_MIXER_ATTACH_FAILED;
+ else
+ probedDeviceToAttach->mixerLinkStatus = DEPENDENCY_MIXER_ATTACH_SUCCEED;
if(responseJ)
json_object_put(responseJ);