From: Gilbok Lee Date: Thu, 21 Dec 2023 07:49:56 +0000 (+0900) Subject: [0.6.290] Fix adaptive streaming not being prepared due to upgrade to GST 1.22.7 X-Git-Tag: accepted/tizen/unified/20240105.105447^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=f5832892c46104e1fa39eb03732f45b53c9346f7;hp=8df26df6d386f8e77ec8b4acd58622e79024b6e4;p=platform%2Fcore%2Fmultimedia%2Flibmm-player.git [0.6.290] Fix adaptive streaming not being prepared due to upgrade to GST 1.22.7 - decodebin3 ignores the stream select that has already been forwarded Change-Id: I78f9acad03a9dc872e6a87156a6c726eef5e06f8 --- diff --git a/packaging/libmm-player.spec b/packaging/libmm-player.spec index aab3ada..451159f 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.289 +Version: 0.6.290 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 diff --git a/src/include/mm_player_utils.h b/src/include/mm_player_utils.h index 6eba4df..126f972 100644 --- a/src/include/mm_player_utils.h +++ b/src/include/mm_player_utils.h @@ -282,6 +282,7 @@ #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); diff --git a/src/mm_player_gst.c b/src/mm_player_gst.c index ec3a3b7..bdce524 100644 --- a/src/mm_player_gst.c +++ b/src/mm_player_gst.c @@ -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; } diff --git a/src/mm_player_utils.c b/src/mm_player_utils.c index b7acd33..d43a79e 100644 --- a/src/mm_player_utils.c +++ b/src/mm_player_utils.c @@ -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);