[0.6.293] Set async property to FALSE in text sink when pausing a state change 37/320937/1 accepted/tizen_8.0_unified tizen_8.0 accepted/tizen/8.0/unified/20241127.161326
authorGilbok Lee <gilbok.lee@samsung.com>
Fri, 22 Nov 2024 07:39:57 +0000 (16:39 +0900)
committerGilbok Lee <gilbok.lee@samsung.com>
Tue, 26 Nov 2024 01:10:56 +0000 (10:10 +0900)
- 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
src/mm_player_gst.c
src/mm_player_priv.c

index 45873ee2f4c500f9d15926d5782f5873dbf2eb7a..a3f3342ebbf1a09cd3a6468ec0139492404218d0 100644 (file)
@@ -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
index 858d916189a991993522eebdee0478ad684aa85f..f46d4872d4e030b3de0615a7868d10fbc673b531 100644 (file)
@@ -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;
 
index 6f8f70c935a9577e5f1c64ccc4a2c7bcd414e716..be502f15e0fedf7344c287b2e80d13596e491890 100644 (file)
@@ -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;