Modify not to destroy handle inside of the resource release callback 75/236675/4
authorHyunsoo Park <hance.park@samsung.com>
Fri, 19 Jun 2020 07:50:29 +0000 (16:50 +0900)
committerHyunsoo Park <hance.park@samsung.com>
Mon, 22 Jun 2020 05:35:06 +0000 (14:35 +0900)
After applying this patch, App could call destroy api according to their logic.

Change-Id: Id04fcef8e67f9417e8760ef95a5bfdf9372ba127
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
packaging/libmm-wfd.spec
src/mm_wfd_sink_priv.c

index dc1f3e4..e93da21 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-wfd
 Summary:    Multimedia Framework Wifi-Display Library
-Version:    0.3.6
+Version:    0.3.7
 Release:    0
 Group:      System/Libraries
 License:    Apache-2.0
index 4b3efd4..5244044 100644 (file)
@@ -67,18 +67,16 @@ __resource_release_cb(mm_resource_manager_h rm, mm_resource_manager_res_h res,
 
        wfd_sink_debug("resource is interrupted. resource would be released after destroying");
 
+       MMWFDSINK_CMD_LOCK(wfdsink);
        if (_mm_wfd_sink_disconnect(wfdsink) != MM_ERROR_NONE)
                wfd_sink_error("failed to disconnect");
 
        if (_mm_wfd_sink_unprepare(wfdsink) != MM_ERROR_NONE)
                wfd_sink_error("failed to unprepare");
-
-       if (_mm_wfd_sink_destroy(wfdsink) != MM_ERROR_NONE)
-               wfd_sink_error("failed to destroy");
-
        for (res_idx = MM_WFD_SINK_RESOURCE_TYPE_VIDEO_DECODER; res_idx < MM_WFD_SINK_RESOURCE_TYPE_MAX; res_idx++) {
                wfdsink->hw_resource[res_idx] = NULL;
        }
+       MMWFDSINK_CMD_UNLOCK(wfdsink);
 
        wfd_sink_debug_fleave();
        return TRUE; /* release all the resources */