- decodebin3 ignores the stream select that has already been forwarded
Change-Id: I78f9acad03a9dc872e6a87156a6c726eef5e06f8
Name: libmm-player
Summary: Multimedia Framework Player Library
Name: libmm-player
Summary: Multimedia Framework Player Library
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
#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_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")
#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")
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_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);
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);
{
if (MMPLAYER_USE_DECODEBIN(player))
break; /* drop msg */
{
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) &&
if ((MMPLAYER_IS_HTTP_STREAMING(player)) &&
(!player->pipeline->mainbin[MMPLAYER_M_DEMUXED_S_BUFFER].gst) &&
LOGD("GST_MESSAGE_STREAMS_SELECTED");
player->no_more_pad = TRUE;
_mmplayer_set_reconfigure_state(player, FALSE);
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);
+_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);
_mmplayer_is_ms_buff_src(mmplayer_t *player)
{
MMPLAYER_RETURN_VAL_IF_FAIL(player, FALSE);