summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2015-06-23 13:13:49 +0200
committerSebastian Dröge <sebastian@centricular.com>2015-06-23 13:15:55 +0200
commit281a13efa12459ec80771c1b9478b0538017f918 (patch)
tree3f3b977b14f45f176845b8ef7e3d8e4b29ef0dd3
parent0bff481011cf74c59869b511393d1696b570e3d5 (diff)
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.
-rw-r--r--gst-libs/gst/adaptivedemux/gstadaptivedemux.c2
1 files changed, 2 insertions, 0 deletions
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) {