diff options
Diffstat (limited to 'camera')
-rw-r--r-- | camera/exynos_camera.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/camera/exynos_camera.c b/camera/exynos_camera.c index a15d904..7e551dc 100644 --- a/camera/exynos_camera.c +++ b/camera/exynos_camera.c @@ -3812,6 +3812,7 @@ complete: void exynos_camera_recording_thread_stop(struct exynos_camera *exynos_camera) { + camera_memory_t *memory; int i; if (exynos_camera == NULL) @@ -3824,6 +3825,8 @@ void exynos_camera_recording_thread_stop(struct exynos_camera *exynos_camera) return; } + memory = exynos_camera->recording_memory; + if (exynos_camera->recording_listener != NULL) { exynos_camera_capture_listener_unregister(exynos_camera, exynos_camera->recording_listener); exynos_camera->recording_listener = NULL; @@ -3851,6 +3854,11 @@ void exynos_camera_recording_thread_stop(struct exynos_camera *exynos_camera) pthread_mutex_destroy(&exynos_camera->recording_mutex); pthread_mutex_destroy(&exynos_camera->recording_lock_mutex); + + if (memory != NULL && memory->release != NULL) { + memory->release(memory); + exynos_camera->recording_memory = NULL; + } } // Auto-focus |