From 281a13efa12459ec80771c1b9478b0538017f918 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 23 Jun 2015 13:13:49 +0200 Subject: adaptivedemux: Remember the last return value of gst_adaptive_demux_stream_update_fragment_info() 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 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c index 854aefc58..aaad3e7d5 100644 --- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c +++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c @@ -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) { -- cgit v1.2.1