diff options
-rw-r--r-- | camera/exynos_camera.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/camera/exynos_camera.c b/camera/exynos_camera.c index 2335173..a15d904 100644 --- a/camera/exynos_camera.c +++ b/camera/exynos_camera.c @@ -2114,6 +2114,11 @@ int exynos_camera_capture_start(struct exynos_camera *exynos_camera) goto complete; error: + if (exynos_camera->face_data != NULL && exynos_camera->face_data->release != NULL) { + exynos_camera->face_data->release(exynos_camera->face_data); + exynos_camera->face_data = NULL; + } + if (exynos_camera->capture_memory != NULL && exynos_camera->capture_memory->release != NULL) { exynos_camera->capture_memory->release(exynos_camera->capture_memory); exynos_camera->capture_memory = NULL; @@ -2158,6 +2163,11 @@ void exynos_camera_capture_stop(struct exynos_camera *exynos_camera) ALOGE("%s: Unable to stop stream", __func__); } + if (exynos_camera->face_data != NULL && exynos_camera->face_data->release != NULL) { + exynos_camera->face_data->release(exynos_camera->face_data); + exynos_camera->face_data = NULL; + } + if (exynos_camera->capture_memory != NULL && exynos_camera->capture_memory->release != NULL) { exynos_camera->capture_memory->release(exynos_camera->capture_memory); exynos_camera->capture_memory = NULL; |