return MM_ERROR_PLAYER_INTERNAL;
}
+ LOGD("commit [%d type] resource", type);
rm_ret = mm_resource_manager_commit(player->resource_manager);
if (rm_ret != MM_RESOURCE_MANAGER_ERROR_NONE) {
LOGE("failed to commit of resource, ret(0x%x)", rm_ret);
MMPLAYER_RETURN_IF_FAIL(player);
MMPLAYER_RETURN_IF_FAIL(player->resource_manager);
- mm_resource_manager_mark_all_for_release(player->resource_manager);
+ rm_ret = mm_resource_manager_mark_all_for_release(player->resource_manager);
+ if (rm_ret != MM_RESOURCE_MANAGER_ERROR_NONE) {
+ LOGW("failed to mark all for release of resource, ret(0x%x)", rm_ret);
+ goto rm_destroy;
+ }
rm_ret = mm_resource_manager_commit(player->resource_manager);
if (rm_ret != MM_RESOURCE_MANAGER_ERROR_NONE)
- LOGW("failed to commit of resource, ret(0x%x)", rm_ret);
+ LOGW("failed to commit resource, ret(0x%x)", rm_ret);
+rm_destroy:
/* de-initialize resource manager */
rm_ret = mm_resource_manager_destroy(player->resource_manager);
- if (rm_ret != MM_RESOURCE_MANAGER_ERROR_NONE)
+ if (rm_ret != MM_RESOURCE_MANAGER_ERROR_NONE) {
LOGW("failed to destroy resource manager, ret(0x%x)", rm_ret);
+ return;
+ }
player->resource_manager = NULL;
player->hw_resource[type] = NULL;
+ LOGD("commit [%d type] resource", type);
rm_ret = mm_resource_manager_commit(player->resource_manager);
if (rm_ret != MM_RESOURCE_MANAGER_ERROR_NONE) {
- LOGE("failed to commit of resource, ret(0x%x)", rm_ret);
+ LOGE("failed to commit resource, ret(0x%x)", rm_ret);
return MM_ERROR_PLAYER_INTERNAL;
}