fix up! Support new APIs for media packet internal callback 94/313494/1 accepted/tizen_8.0_unified tizen_8.0 accepted/tizen/8.0/unified/20240701.172930
authorJeongmo Yang <jm80.yang@samsung.com>
Thu, 22 Feb 2024 10:55:06 +0000 (19:55 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Thu, 27 Jun 2024 01:00:58 +0000 (10:00 +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.70
[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 21a1c8687563e9a33125d173770a18dc68992a00..ab274201d7e5e41c548c1459160dd09fead13e66 100644 (file)
@@ -1406,6 +1406,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 b8098e242b51ff328e1d287d44fa11cf7997da4f..091e29c0edc35f8338318a0250add9ff4290546f 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mmsvc-camera
 Summary:    A Camera module for muse server
-Version:    0.3.69
+Version:    0.3.70
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0