summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolodymyr Brynza <v.brynza@samsung.com>2016-06-30 17:12:42 +0300
committerVolodymyr Brynza <v.brynza@samsung.com>2016-06-30 17:12:42 +0300
commit54e0539c8fbe7dd9bd88acabceac207e1798ce41 (patch)
treeefba234d737c29ee6b8ba8b533543ddf4b9ec3b9
parent21c4b11ff80bc17018db6257858814bee2d7e5f9 (diff)
downloadlibmm-player-accepted/tizen/mobile/20160704.090544.tar.gz
libmm-player-accepted/tizen/mobile/20160704.090544.tar.bz2
libmm-player-accepted/tizen/mobile/20160704.090544.zip
Change-Id: I064f1e241186a223701be75efb8d5c071874f37d Signed-off-by: Volodymyr Brynza <v.brynza@samsung.com>
-rw-r--r--src/mm_player_resource.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mm_player_resource.c b/src/mm_player_resource.c
index aecb7ab..8929291 100644
--- a/src/mm_player_resource.c
+++ b/src/mm_player_resource.c
@@ -162,17 +162,18 @@ static void mrp_rset_state_callback(mrp_res_context_t *cx, const mrp_res_resourc
MMPLAYER_FENTER();
+ MMPLAYER_RESOURCE_LOCK(&player->resource_manager);
+
if(!mrp_res_equal_resource_set(rs, player->resource_manager.rset)) {
LOGW("- resource set(%p) is not same as this player handle's(%p)", rs, player->resource_manager.rset);
+ MMPLAYER_RESOURCE_UNLOCK(&player->resource_manager);
return;
}
if (rs->state == MRP_RES_RESOURCE_ACQUIRED) {
player->resource_manager.state = RESOURCE_STATE_ACQUIRED;
- MMPLAYER_RESOURCE_LOCK(&player->resource_manager);
MMPLAYER_RESOURCE_SIGNAL(&player->resource_manager);
- MMPLAYER_RESOURCE_UNLOCK(&player->resource_manager);
}
LOGD(" - resource set state of player(%p) is changed to [%s]\n", player, state_to_str(rs->state));
@@ -188,6 +189,7 @@ static void mrp_rset_state_callback(mrp_res_context_t *cx, const mrp_res_resourc
mrp_res_delete_resource_set(player->resource_manager.rset);
player->resource_manager.rset = mrp_res_copy_resource_set(rs);
+ MMPLAYER_RESOURCE_UNLOCK(&player->resource_manager);
MMPLAYER_FLEAVE();
}
@@ -483,8 +485,10 @@ int _mmplayer_resource_manager_unprepare(MMPlayerResourceManager *resource_manag
}
else
{
+ MMPLAYER_RESOURCE_LOCK(resource_manager);
mrp_res_delete_resource_set(resource_manager->rset);
resource_manager->rset = NULL;
+ MMPLAYER_RESOURCE_UNLOCK(resource_manager);
}
resource_manager->state = RESOURCE_STATE_INITIALIZED;