From: Hyunsoo Park Date: Wed, 25 Mar 2020 11:11:34 +0000 (+0900) Subject: wfdsink : destroy resource manager in _mm_wfd_sink_destroy() X-Git-Tag: accepted/tizen/unified/20200329.014218^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7266d3ec6f4764695b88e8952a63e64ba881026e;p=platform%2Fcore%2Fmultimedia%2Flibmm-wfd.git wfdsink : destroy resource manager in _mm_wfd_sink_destroy() Change-Id: I4140fdf4f9b43c3c280f95ae576cf7d7b7a589df Signed-off-by: Hyunsoo Park --- diff --git a/packaging/libmm-wfd.spec b/packaging/libmm-wfd.spec index fd4b814..14e54f4 100644 --- a/packaging/libmm-wfd.spec +++ b/packaging/libmm-wfd.spec @@ -1,6 +1,6 @@ Name: libmm-wfd Summary: Multimedia Framework Wifi-Display Library -Version: 0.3.2 +Version: 0.3.3 Release: 0 Group: System/Libraries License: Apache-2.0 diff --git a/src/mm_wfd_sink_priv.c b/src/mm_wfd_sink_priv.c index 41f8dea..c125776 100644 --- a/src/mm_wfd_sink_priv.c +++ b/src/mm_wfd_sink_priv.c @@ -182,8 +182,8 @@ int _mm_wfd_sink_create(mm_wfd_sink_t **wfd_sink, const char *ini_path) __resource_release_cb, new_wfd_sink, &new_wfd_sink->resource_manager) != MM_RESOURCE_MANAGER_ERROR_NONE) { wfd_sink_error("failed to initialize resource manager"); - result = MM_ERROR_WFD_INTERNAL; - goto fail_to_init; + MMWFDSINK_FREEIF(new_wfd_sink); + return MM_ERROR_WFD_INTERNAL; } /* Initialize gstreamer related */ @@ -241,9 +241,8 @@ int _mm_wfd_sink_create(mm_wfd_sink_t **wfd_sink, const char *ini_path) /* construct attributes */ new_wfd_sink->attrs = _mmwfd_construct_attribute((MMHandleType)new_wfd_sink); if (!new_wfd_sink->attrs) { - MMWFDSINK_FREEIF(new_wfd_sink); wfd_sink_error("failed to set attribute"); - return MM_ERROR_WFD_INTERNAL; + goto fail_to_attrs; } /* load ini for initialize */ @@ -283,6 +282,8 @@ fail_to_init: mm_wfd_sink_ini_unload(&new_wfd_sink->ini); fail_to_load_ini: _mmwfd_deconstruct_attribute(new_wfd_sink->attrs); +fail_to_attrs: + mm_resource_manager_destroy(new_wfd_sink->resource_manager); MMWFDSINK_FREEIF(new_wfd_sink); *wfd_sink = NULL; @@ -551,6 +552,12 @@ int _mm_wfd_sink_destroy(mm_wfd_sink_t *wfd_sink) /* release attributes */ _mmwfd_deconstruct_attribute(wfd_sink->attrs); + /* release resource manager */ + if(MM_ERROR_NONE != mm_resource_manager_destroy(wfd_sink->resource_manager)) { + wfd_sink_error("failed to destroy resource manager"); + return MM_ERROR_WFD_INTERNAL; + } + /* release the others */ g_free(wfd_sink->coupled_sink_address);