[Bug 776609] adaptivedemux: actually retry on download errors

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Mar 14 04:56:14 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=776609

--- Comment #6 from Matthew Waters (ystreet00) <ystreet00 at gmail.com> ---
It's not immediate in any case, there are currently a few levels of waiting. 
The flow is as follows without this patch:
1. Request returns 4xx/5xx.
2 we may or may not be in the seek range:
2.1 outside seek range: none of the existing wait/retries apply here and we get
to the changed line which returns EOS when the number of retries is less than
the MAX DOWNLOAD_ERROR_COUNT (which is pretty much always true).
2.2 before seek range: we advance the fragment and try again
2.3 after seek range we wait until the seek range comes into play and try
again.
3. EOS returns result in waiting for hours for manifest update.

With the change:
1. The same
2.1 for the number of download errors < MAX DOWNLOAD_ERROR_COUNT, we return
some kind of error which causes the download thread to try again later (after
half the fragment duration).
2.2. for number of download errors >= MAX DOWNLOAD_ERROR_COUNT we return EOS
which results in the manifest wait time again (i.e. hours).

Also, with the change we don't double increment stream->download_error_count as
that seems counterproductive to actually waiting a specified number of times.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list