[1.1.3] Set async property to FALSE in text sink when pausing a state change 98/320798/1 accepted/tizen/9.0/unified/20241203.163324
authorGilbok Lee <gilbok.lee@samsung.com>
Fri, 22 Nov 2024 07:39:57 +0000 (16:39 +0900)
committerGilbok Lee <gilbok.lee@samsung.com>
Fri, 22 Nov 2024 09:07:18 +0000 (09:07 +0000)
- 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
(cherry picked from commit 0d78d298f553060b8e3268a4b0d6473bef96f055)

packaging/libmm-player.spec
src/mm_player_gst.c
src/mm_player_priv.c

index a16890895b576ffef86d8316961ae0472142441c..638163927f0f03d4da222063232ab8fd89dcbe12 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-player
 Summary:    Multimedia Framework Player Library
-Version:    1.1.2
+Version:    1.1.3
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index f74b031a32cd0200721b83765dd2aa460585466f..757895a20f573fb975b2625d4995acefc7928706 100644 (file)
@@ -3663,9 +3663,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 f465103b2b22ecf5aed00db802cfdf34d34f9529..3068e4732c4577b0f3ecb7b329c91097aa91d52c 100644 (file)
@@ -5097,7 +5097,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;