From 13ddb317bb2b270335b362b2b46d3c26745750f2 Mon Sep 17 00:00:00 2001 From: Gilbok Lee Date: Fri, 22 Nov 2024 16:39:57 +0900 Subject: [PATCH] [0.6.293] Set async property to FALSE in text sink when pausing a state change - In contents with internal subtitles, if there is a large gap between subtitles, state change failed because subtitle data was not received - If the external subtitle is set before prepare, it will be reset to FALSE and there will be a synchronizationissue during seek Change-Id: I7403d70a3c364732bb567c65ba45e60193760ab5 --- packaging/libmm-player.spec | 2 +- src/mm_player_gst.c | 6 ++++++ src/mm_player_priv.c | 1 - 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packaging/libmm-player.spec b/packaging/libmm-player.spec index 45873ee..a3f3342 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.292 +Version: 0.6.293 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 diff --git a/src/mm_player_gst.c b/src/mm_player_gst.c index 858d916..f46d487 100644 --- a/src/mm_player_gst.c +++ b/src/mm_player_gst.c @@ -3659,9 +3659,15 @@ _mmplayer_gst_pause(mmplayer_t *player, gboolean async) MMPLAYER_PRINT_STATE(player); /* set pipeline status to PAUSED */ + if (player->pipeline->textbin) + __mmplayer_gst_set_async(player, FALSE, MMPLAYER_TEXT_SINK); + ret = _mmplayer_gst_set_state(player, player->pipeline->mainbin[MMPLAYER_M_PIPE].gst, GST_STATE_PAUSED, async, MMPLAYER_STATE_CHANGE_TIMEOUT(player)); + if (player->pipeline->textbin) + __mmplayer_gst_set_async(player, TRUE, MMPLAYER_TEXT_SINK); + if (async) goto EXIT; diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c index 6f8f70c..be502f1 100644 --- a/src/mm_player_priv.c +++ b/src/mm_player_priv.c @@ -5207,7 +5207,6 @@ _mmplayer_realize(MMHandleType hplayer) player->videodec_linked = 0; player->audiodec_linked = 0; player->textsink_linked = 0; - player->is_external_subtitle_present = FALSE; player->is_external_subtitle_added_now = FALSE; player->is_subtitle_off = FALSE; /* set the subtitle ON default */ player->video360_metadata.is_spherical = -1; -- 2.34.1