diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c index b2acf33c39..7df1c63596 100644 --- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c +++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c @@ -1931,7 +1931,7 @@ gst_adaptive_demux_stream_download_fragment (GstAdaptiveDemuxStream * stream) stream->last_ret, gst_flow_get_name (stream->last_ret)); if (ret != GST_FLOW_OK) { /* TODO check if we are truly stoping */ - if (ret != GST_FLOW_ERROR && gst_adaptive_demux_is_live (demux)) { + if (ret == GST_FLOW_CUSTOM_ERROR && gst_adaptive_demux_is_live (demux)) { if (++stream->download_error_count <= MAX_DOWNLOAD_ERROR_COUNT) { /* looks like there is no way of knowing when a live stream has ended * Have to assume we are falling behind and cause a manifest reload */ @@ -1939,7 +1939,7 @@ gst_adaptive_demux_stream_download_fragment (GstAdaptiveDemuxStream * stream) "Converting error of live stream to EOS"); return GST_FLOW_EOS; } - } else if (ret != GST_FLOW_ERROR + } else if (ret == GST_FLOW_CUSTOM_ERROR && !gst_adaptive_demux_stream_has_next_fragment (demux, stream)) { /* If this is the last fragment, consider failures EOS and not actual * errors. Due to rounding errors in the durations, the last fragment