typedef struct _hal_camera_s {
void *backend;
hal_backend_camera_funcs *funcs;
+ gchar *hal_name;
} hal_camera_s;
goto __HAL_INIT_FAILED;
}
+ new_handle->hal_name = g_strdup(hal_name);
*camera_handle = (void *)new_handle;
+ SLOGI("done - lib[%s]", hal_name ? hal_name : "default");
+
return CAMERA_ERROR_NONE;
__HAL_INIT_FAILED:
if (new_handle->funcs)
- hal_common_put_backend(HAL_MODULE_CAMERA, (void *)new_handle->funcs);
+ hal_common_put_backend_with_library_name(HAL_MODULE_CAMERA, (void *)new_handle->funcs, hal_name);
g_free(new_handle);
HAL_CAMERA_RETURN_IF_FAILED(handle->funcs, CAMERA_ERROR_INVALID_PARAMETER);
HAL_CAMERA_RETURN_IF_FAILED(handle->funcs->deinit, CAMERA_ERROR_NOT_IMPLEMENTED);
+ SLOGI("start - lib[%s]", handle->hal_name ? handle->hal_name : "default");
+
ret = handle->funcs->deinit(handle->backend);
if (ret != CAMERA_ERROR_NONE) {
SLOGE("deinit failed[0x%x]", ret);
return ret;
}
- hal_common_put_backend(HAL_MODULE_CAMERA, (void *)handle->funcs);
+ hal_common_put_backend_with_library_name(HAL_MODULE_CAMERA, (void *)handle->funcs, handle->hal_name);
+
+ if (handle->hal_name)
+ g_free(handle->hal_name);
memset(handle, 0x0, sizeof(hal_camera_s));
g_free(handle);