summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2013-11-23 14:38:03 +0100
committerPaul Kocialkowski <contact@paulk.fr>2013-11-23 14:38:03 +0100
commit0e2fe5e2de1346eed7d627308f1bbbbb331de3b3 (patch)
tree5d69019b6753f55c54ab74bb06008bcef92351b8
parent3532a429c6baf6d4a2c22a9720a090d16775b449 (diff)
downloaddevice_samsung_i9300-replicant-4.0.zip
device_samsung_i9300-replicant-4.0.tar.gz
device_samsung_i9300-replicant-4.0.tar.bz2
camera: Proper recording memory releasereplicant-4.0
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
-rw-r--r--camera/exynos_camera.c8
1 files changed, 8 insertions, 0 deletions
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