summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Santos <thiagoss@osg.samsung.com>2015-09-15 09:58:20 -0300
committerThiago Santos <thiagoss@osg.samsung.com>2015-09-15 12:46:31 -0300
commitbd710e5e1b3df5c4b4cc9f48fc64478dc33a8ae6 (patch)
tree8795c901321e07766c3a3e06ba12a86cb8620445
parentfe8de1857a704af9ed6160dfdf8f93131e78ba19 (diff)
downloadgstreamer-plugins-bad-bd710e5e1b3df5c4b4cc9f48fc64478dc33a8ae6.tar.gz
dashdemux: fix return when trying to advance in subfragmented stream
Even if it doesn't actually advance the subfragment in the default way for streams that have subfragments, it can help the base class to return EOS when there is no more fragments instead of signaling it that it should continue downloading. https://bugzilla.gnome.org/show_bug.cgi?id=755042
-rw-r--r--ext/dash/gstdashdemux.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ext/dash/gstdashdemux.c b/ext/dash/gstdashdemux.c
index 91de3c620..f1b30917e 100644
--- a/ext/dash/gstdashdemux.c
+++ b/ext/dash/gstdashdemux.c
@@ -1460,9 +1460,12 @@ gst_dash_demux_stream_fragment_finished (GstAdaptiveDemux * demux,
GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
if (gst_mpd_client_has_isoff_ondemand_profile (dashdemux->client) &&
- dashstream->sidx_parser.status == GST_ISOFF_SIDX_PARSER_FINISHED)
+ dashstream->sidx_parser.status == GST_ISOFF_SIDX_PARSER_FINISHED) {
/* fragment is advanced on data_received when byte limits are reached */
- return GST_FLOW_OK;
+ if (gst_dash_demux_stream_has_next_fragment (stream))
+ return GST_FLOW_OK;
+ return GST_FLOW_EOS;
+ }
if (G_UNLIKELY (stream->downloading_header || stream->downloading_index))
return GST_FLOW_OK;