adaptivedemux: Remember the last return value of gst_adaptive_demux_stream_update_fra...
authorSebastian Dröge <sebastian@centricular.com>
Tue, 23 Jun 2015 11:13:49 +0000 (13:13 +0200)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 23 Jun 2015 11:15:55 +0000 (13:15 +0200)
It's going to return EOS if the period ended or otherwise there is just no
next fragment left. If we don't store the last return value, it will always
stay OK and gst_adaptive_demux_combine_flows() will always return OK instead
of EOS once all streams are done.

This partially switches period changes in DASH by at least trying to switch
instead of just stopping. What is still left is that after a period change
with DASH the times all start at 0 again instead of continuing.

gst-libs/gst/adaptivedemux/gstadaptivedemux.c

index 854aefc..aaad3e7 100644 (file)
@@ -2068,6 +2068,8 @@ gst_adaptive_demux_stream_download_loop (GstAdaptiveDemuxStream * stream)
     GST_OBJECT_UNLOCK (demux);
 
     GST_MANIFEST_LOCK (demux);
+  } else {
+    stream->last_ret = ret;
   }
 
   switch (ret) {