Do not call DQBUF after stop_preview is called 35/216535/1 accepted/tizen/unified/20191107.051402 submit/tizen/20191106.104549
authorJeongmo Yang <jm80.yang@samsung.com>
Mon, 28 Oct 2019 07:07:29 +0000 (16:07 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Mon, 28 Oct 2019 07:08:05 +0000 (16:08 +0900)
[Version] 0.0.10
[Profile] Common
[Issue Type] Update

Change-Id: I4ddc54a818b77cb6f4d4cec27eaa8bc03fe29e3c
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/camera-hal-v4l2.spec
src/tizen_camera_v4l2.c

index cc1a87f..d77166d 100644 (file)
@@ -1,6 +1,6 @@
 Name:       camera-hal-v4l2
 Summary:    Tizen Camera Hal for V4L2
-Version:    0.0.9
+Version:    0.0.10
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 5996772..6454cd6 100644 (file)
@@ -609,14 +609,18 @@ static void *_camera_preview_handler_func(gpointer data)
                        break;
                }
 
+               g_mutex_lock(&handle->preview_cb_lock);
+
+               if (handle->preview_cb_run == FALSE) {
+                       LOGW("stop preview handler thread");
+                       break;
+               }
+
                if (_camera_v4l2_dqbuf(handle->device_fd, handle->v4l2_type, V4L2_MEMORY_MMAP, &index) != CAMERA_ERROR_NONE) {
                        LOGE("dqbuf failed");
-                       g_mutex_lock(&handle->preview_cb_lock);
                        break;
                }
 
-               g_mutex_lock(&handle->preview_cb_lock);
-
                handle->live_buffer_num++;
 
                LOGD("live buffer num %d", handle->live_buffer_num);