[0.6.290] Fix adaptive streaming not being prepared due to upgrade to GST 1.22.7 07/303207/2 accepted/tizen/unified/20240105.105447 accepted/tizen/unified/riscv/20240106.074909
authorGilbok Lee <gilbok.lee@samsung.com>
Thu, 21 Dec 2023 07:49:56 +0000 (16:49 +0900)
committerGilbok Lee <gilbok.lee@samsung.com>
Tue, 26 Dec 2023 03:19:59 +0000 (12:19 +0900)
- decodebin3 ignores the stream select that has already been forwarded

Change-Id: I78f9acad03a9dc872e6a87156a6c726eef5e06f8

packaging/libmm-player.spec
src/include/mm_player_utils.h
src/mm_player_gst.c
src/mm_player_utils.c

index aab3ada..451159f 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-player
 Summary:    Multimedia Framework Player Library
-Version:    0.6.289
+Version:    0.6.290
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 6eba4df..126f972 100644 (file)
 #define MMPLAYER_IS_LIVE_STREAMING(x_player) _mmplayer_is_live_streaming(x_player)
 #define MMPLAYER_IS_DASH_STREAMING(x_player) _mmplayer_is_dash_streaming(x_player)
 #define MMPLAYER_IS_SMOOTH_STREAMING(x_player) _mmplayer_is_smooth_streaming(x_player)
+#define MMPLAYER_IS_ADAPTIVE_STREAMING(x_player) _mmplayer_is_adaptive_streaming(x_player)
 #define MMPLAYER_IS_MS_BUFF_SRC(x_player) _mmplayer_is_ms_buff_src(x_player)
 
 #define MMPLAYER_URL_HAS_DASH_SUFFIX(x_player) _mmplayer_has_suffix(x_player, ".mpd")
@@ -307,6 +308,7 @@ gboolean _mmplayer_is_http_streaming(mmplayer_t *player);
 gboolean _mmplayer_is_http_live_streaming(mmplayer_t *player);
 gboolean _mmplayer_is_dash_streaming(mmplayer_t *player);
 gboolean _mmplayer_is_smooth_streaming(mmplayer_t *player);
+gboolean _mmplayer_is_adaptive_streaming(mmplayer_t *player);
 gboolean _mmplayer_is_ms_buff_src(mmplayer_t *player);
 gboolean _mmplayer_has_suffix(mmplayer_t *player, const gchar *suffix);
 gboolean _mmplayer_is_videosink_ready(mmplayer_t *player, int surface_type);
index ec3a3b7..bdce524 100644 (file)
@@ -950,11 +950,6 @@ __mmplayer_gst_check_useful_message(mmplayer_t *player, GstMessage *message)
        {
                if (MMPLAYER_USE_DECODEBIN(player))
                        break; /* drop msg */
-               if (message->src == (GstObject *)player->pipeline->mainbin[MMPLAYER_M_ADAPTIVE_DEMUX].gst) {
-                       LOGD("pipeline is still under construction for adaptive streaming");
-                       retval = TRUE;
-                       break;
-               }
 
                if ((MMPLAYER_IS_HTTP_STREAMING(player)) &&
                        (!player->pipeline->mainbin[MMPLAYER_M_DEMUXED_S_BUFFER].gst) &&
@@ -977,7 +972,8 @@ __mmplayer_gst_check_useful_message(mmplayer_t *player, GstMessage *message)
                LOGD("GST_MESSAGE_STREAMS_SELECTED");
                player->no_more_pad = TRUE;
                _mmplayer_set_reconfigure_state(player, FALSE);
-               _mmplayer_pipeline_complete(NULL, player);
+               if (!MMPLAYER_IS_ADAPTIVE_STREAMING(player))
+                       _mmplayer_pipeline_complete(NULL, player);
                retval = TRUE;
                break;
        }
index b7acd33..d43a79e 100644 (file)
@@ -134,6 +134,14 @@ _mmplayer_is_smooth_streaming(mmplayer_t *player)
 }
 
 gboolean
+_mmplayer_is_adaptive_streaming(mmplayer_t *player)
+{
+       MMPLAYER_RETURN_VAL_IF_FAIL(player, FALSE);
+       return (_mmplayer_is_http_live_streaming(player) || _mmplayer_is_dash_streaming(player)
+               || _mmplayer_is_smooth_streaming(player)) ? TRUE : FALSE;
+}
+
+gboolean
 _mmplayer_is_ms_buff_src(mmplayer_t *player)
 {
        MMPLAYER_RETURN_VAL_IF_FAIL(player, FALSE);