From: Jeongmo Yang Date: Fri, 27 Mar 2020 03:19:09 +0000 (+0900) Subject: Merge branch 'tizen_line_coverage' into tizen X-Git-Tag: submit/tizen/20200422.081514~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2e10639f52bcf930fbce2bf619968bf4edc21d34;p=platform%2Fcore%2Fapi%2Fmediacodec.git Merge branch 'tizen_line_coverage' into tizen Change-Id: I8c1650e5c788fce1860d6101affa159d634f51ab Signed-off-by: Jeongmo Yang --- 2e10639f52bcf930fbce2bf619968bf4edc21d34 diff --cc src/media_codec.c index be2435e,a78a76b..cff7fc1 --- a/src/media_codec.c +++ b/src/media_codec.c @@@ -199,14 -180,12 +199,14 @@@ int mediacodec_destroy(mediacodec_h med int ret = mc_destroy(handle->mc_handle); if (ret != MEDIACODEC_ERROR_NONE) { - LOGD("MEDIACODEC_ERROR_INVALID_OPERATION(0x%08x)", MEDIACODEC_ERROR_INVALID_OPERATION); + LOGD("MEDIACODEC_ERROR_INVALID_OPERATION(0x%08x)", MEDIACODEC_ERROR_INVALID_OPERATION); //LCOV_EXCL_LINE return MEDIACODEC_ERROR_INVALID_OPERATION; } else { - g_mutex_lock(&mediacodec_handles_lock); - g_ptr_array_remove_fast(mediacodec_handles, mediacodec); - g_mutex_unlock(&mediacodec_handles_lock); +#ifdef USE_MM_RESOURCE_MANAGER + g_mutex_lock(&g_mediacodec_lock); + g_ptr_array_remove_fast(g_mediacodec_handles, mediacodec); + g_mutex_unlock(&g_mediacodec_lock); +#endif handle->state = MEDIACODEC_STATE_NONE; free(handle); @@@ -344,7 -320,8 +344,8 @@@ int mediacodec_prepare(mediacodec_h med * mm_resource_manager_get_res_type_volume() can be used. * Additional info can be found in doxygen comments of mm_resource_manager.h */ + //LCOV_EXCL_START - rm_ret = mm_resource_manager_mark_for_acquire(resource_manager, + rm_ret = mm_resource_manager_mark_for_acquire(g_mc_resource_manager, mc_handle->is_encoder ? MM_RESOURCE_MANAGER_RES_TYPE_VIDEO_ENCODER : MM_RESOURCE_MANAGER_RES_TYPE_VIDEO_DECODER, @@@ -367,10 -343,9 +368,10 @@@ LOGE("Failed to commit resource manager : %x", rm_ret); return MEDIACODEC_ERROR_INTERNAL; } - handle->codec_resource = resource; + //LCOV_EXCL_STOP } +#endif int ret = mc_prepare(handle->mc_handle); @@@ -395,14 -368,14 +396,15 @@@ int mediacodec_unprepare(mediacodec_h m if (ret != MEDIACODEC_ERROR_NONE) { return __convert_error_code(ret, (char *)__FUNCTION__); } else { +#ifdef USE_MM_RESOURCE_MANAGER if (handle->codec_resource != NULL) { + //LCOV_EXCL_START - mm_resource_manager_mark_for_release(resource_manager, + mm_resource_manager_mark_for_release(g_mc_resource_manager, handle->codec_resource); handle->codec_resource = NULL; - rm_ret = mm_resource_manager_commit(resource_manager); + rm_ret = mm_resource_manager_commit(g_mc_resource_manager); if (rm_ret != MM_RESOURCE_MANAGER_ERROR_NONE) { - mm_resource_manager_mark_for_release(resource_manager, handle->codec_resource); + mm_resource_manager_mark_for_release(g_mc_resource_manager, handle->codec_resource); switch (rm_ret) { case MM_RESOURCE_MANAGER_ERROR_LOW_PRIORITY: return MEDIACODEC_ERROR_RESOURCE_OVERLOADED; @@@ -718,8 -691,7 +721,8 @@@ static gboolean __mediacodec_buffer_sta return 1; } - +#ifdef USE_MM_RESOURCE_MANAGER + //LCOV_EXCL_START static int __mediacodec_resource_release_cb(mm_resource_manager_h rm, mm_resource_manager_res_h resource_h, void *user_data) { @@@ -747,28 -719,22 +750,30 @@@ return FALSE; } + //LCOV_EXCL_STOP + static void __mediacodec_init_lib() { - mediacodec_handles = g_ptr_array_sized_new(MC_PREALLOCATED_HANDLE_ARRAY_SIZE); + LOGD("START"); - if (MM_RESOURCE_MANAGER_ERROR_NONE != mm_resource_manager_create(MM_RESOURCE_MANAGER_APP_CLASS_MEDIA, - __mediacodec_resource_release_cb, NULL, &resource_manager)) { - LOGE("Failed to initialize resource manager"); //LCOV_EXCL_LINE - g_ptr_array_unref(mediacodec_handles); - } + g_mutex_init(&g_mediacodec_lock); + g_mediacodec_handles = g_ptr_array_sized_new(MC_PREALLOCATED_HANDLE_ARRAY_SIZE); + + LOGD("DONE"); } static void __mediacodec_deinit_lib() { - if (resource_manager != NULL) - mm_resource_manager_destroy(resource_manager); - g_ptr_array_unref(mediacodec_handles); + LOGD("START"); + + if (g_mc_resource_manager != NULL) + mm_resource_manager_destroy(g_mc_resource_manager); + + g_ptr_array_unref(g_mediacodec_handles); + g_mutex_clear(&g_mediacodec_lock); + + LOGD("DONE"); } +#endif ++