From 0e2fe5e2de1346eed7d627308f1bbbbb331de3b3 Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Sat, 23 Nov 2013 14:38:03 +0100 Subject: camera: Proper recording memory release Signed-off-by: Paul Kocialkowski --- camera/exynos_camera.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/camera/exynos_camera.c b/camera/exynos_camera.c index e7fef00..e7588ba 100644 --- a/camera/exynos_camera.c +++ b/camera/exynos_camera.c @@ -3636,6 +3636,7 @@ complete: void exynos_camera_recording_thread_stop(struct exynos_camera *exynos_camera) { + camera_memory_t *memory; int i; if (exynos_camera == NULL) @@ -3648,6 +3649,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; @@ -3675,6 +3678,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 -- cgit v1.1