summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDheeraj CVR <cvr.dheeraj@gmail.com>2014-03-24 07:16:42 +0530
committerDheeraj CVR <cvr.dheeraj@gmail.com>2014-03-24 07:16:45 +0530
commit7998a46db189e42ff48dfa19e3b421402b72343e (patch)
tree6b42322639a3ff5f44b5dffa0de79896bb90d1e7
parent0378c1e7c0d105d51d6326a87ba14b1890338311 (diff)
downloaddevice_samsung_smdk4412-common-7998a46db189e42ff48dfa19e3b421402b72343e.zip
device_samsung_smdk4412-common-7998a46db189e42ff48dfa19e3b421402b72343e.tar.gz
device_samsung_smdk4412-common-7998a46db189e42ff48dfa19e3b421402b72343e.tar.bz2
smdk4412-common: camera: release face detection memory when capture stops
Change-Id: I6724ce6dde3c4b6242a06b73808905a6de094d4a
-rw-r--r--camera/exynos_camera.c10
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;