fix up! Support new APIs for media packet internal callback 22/306522/1 accepted/tizen/7.0/unified/20240223.161509
authorJeongmo Yang <jm80.yang@samsung.com>
Thu, 22 Feb 2024 10:55:06 +0000 (19:55 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Thu, 22 Feb 2024 10:55:18 +0000 (19:55 +0900)
- Unlock preview_cb_lock mutex before call legacy_camera_unset_preview_cb()
  to avoid deadlock between legacy_camera_unset_preview_cb() and camera_dispatcher_preview_cb_return().

[Version] 0.3.64
[Issue Type] Bug fix

Change-Id: I757a8048c9e09ca85635de948b026fe88f8a92be
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
muse/src/muse_camera_dispatcher.c
packaging/mmsvc-camera.spec

index 8457abfdc4e0da02d94a28aa18b63f186b467e4c..466f45b66ea191b787821769f5524e12fa1ccb17 100644 (file)
@@ -1371,6 +1371,10 @@ static int __camera_dispatcher_unset_preview_cb_flag(muse_camera_handle_s *muse_
        }
 
        if (muse_camera->preview_cb_flag == PREVIEW_CB_TYPE_NONE) {
+               /* Unlock preview_cb_lock here to avoid deadlock between
+                  legacy_camera_unset_preview_cb() and camera_dispatcher_preview_cb_return(). */
+               g_clear_pointer(&locker, g_mutex_locker_free);
+
                ret = legacy_camera_unset_preview_cb(muse_camera->camera_handle);
                if (ret != CAMERA_ERROR_NONE) {
                        CAM_LOG_ERROR("unset preview cb failed[0x%x]", ret);
index caabe50c289608f27286929d3fd8e747af4468ca..6dccf3fb5ee41fb4855d2a5ec38e75e433c788b8 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mmsvc-camera
 Summary:    A Camera module for muse server
-Version:    0.3.63
+Version:    0.3.64
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0