summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEunhye Choi <eunhae1.choi@samsung.com>2022-08-24 19:02:09 +0900
committerEunhye Choi <eunhae1.choi@samsung.com>2022-08-25 13:06:26 +0900
commitb20e821f40435db7a9491d58e963931b38b24b0b (patch)
tree8b0a44a4433583555d5f5be8b373f356da00aced
parent6f697a1dac09947281a057e387ca2a5eb4e63a20 (diff)
downloadlibmm-player-accepted/tizen_7.0_unified_hotfix.tar.gz
libmm-player-accepted/tizen_7.0_unified_hotfix.tar.bz2
libmm-player-accepted/tizen_7.0_unified_hotfix.zip
- fix crash issue - pipeline clock is released when the subtitle pipeline state is sync to main pipeline during playing which cause crash when the main pipeline is unreferenced. Change-Id: Id71adee2288b41bb5ce5202a7f05a41917aa9374
-rw-r--r--packaging/libmm-player.spec2
-rw-r--r--src/mm_player_priv.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/packaging/libmm-player.spec b/packaging/libmm-player.spec
index 778e5a6..5a1b4e2 100644
--- a/packaging/libmm-player.spec
+++ b/packaging/libmm-player.spec
@@ -1,6 +1,6 @@
Name: libmm-player
Summary: Multimedia Framework Player Library
-Version: 0.6.270
+Version: 0.6.271
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c
index eb5ad2a..bcf15b5 100644
--- a/src/mm_player_priv.c
+++ b/src/mm_player_priv.c
@@ -8252,7 +8252,7 @@ _mmplayer_sync_subtitle_pipeline(mmplayer_t *player)
current_state = GST_STATE(mainbin[MMPLAYER_M_PIPE].gst);
// sync clock with current pipeline
- curr_clock = GST_ELEMENT_CLOCK(player->pipeline->mainbin[MMPLAYER_M_PIPE].gst);
+ curr_clock = gst_element_get_clock(player->pipeline->mainbin[MMPLAYER_M_PIPE].gst);
curr_time = gst_clock_get_time(curr_clock);
base_time = gst_element_get_base_time(GST_ELEMENT_CAST(player->pipeline->mainbin[MMPLAYER_M_PIPE].gst));
@@ -8271,6 +8271,8 @@ _mmplayer_sync_subtitle_pipeline(mmplayer_t *player)
if (GST_STATE_CHANGE_FAILURE == ret) {
LOGE("fail to state change.");
result = MM_ERROR_PLAYER_INTERNAL;
+ if (curr_clock)
+ gst_object_unref(curr_clock);
goto ERROR;
}
}