It's true that we shouldn't consider errors fatal immediately, but if we
always ignore them we will loop infinitely on live streams with segments
that can't be downloaded at all.
if (ret != GST_FLOW_OK) {
/* TODO check if we are truly stoping */
if (ret != GST_FLOW_ERROR && gst_adaptive_demux_is_live (demux)) {
- /* 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 */
- return GST_FLOW_EOS;
+ 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 */
+ return GST_FLOW_EOS;
+ }
}
}
}