AUDIO_RETURN_VAL_IF_FAIL(audio_handle, AUDIO_ERR_PARAMETER);
AUDIO_RETURN_VAL_IF_FAIL(!g_hal_audio_funcs, AUDIO_ERR_INTERNAL);
+ g_hal_audio_funcs = (hal_backend_audio_funcs *)calloc(sizeof(hal_backend_audio_funcs), 1);
+ if (!g_hal_audio_funcs)
+ return AUDIO_ERR_INTERNAL;
+
r = hal_common_get_backend(HAL_MODULE_AUDIO, (void **)&g_hal_audio_funcs);
- if (r != TIZEN_ERROR_NONE)
+ if (r != TIZEN_ERROR_NONE) {
+ free(g_hal_audio_funcs);
+ g_hal_audio_funcs = NULL;
return AUDIO_ERR_INTERNAL;
+ }
if (!g_hal_audio_funcs->init) {
ret = AUDIO_ERR_NOT_IMPLEMENTED;
fail:
hal_common_put_backend(HAL_MODULE_AUDIO, (void *)g_hal_audio_funcs);
+ free(g_hal_audio_funcs);
g_hal_audio_funcs = NULL;
return ret;
hal_common_put_backend(HAL_MODULE_AUDIO, (void *)g_hal_audio_funcs);
+ free(g_hal_audio_funcs);
g_hal_audio_funcs = NULL;
return ret;