[FFmpeg-cvslog] lavf/http: handle case where the server returns a redirect during a seek

Rodger Combs git at videolan.org
Mon Apr 13 11:32:49 CEST 2015


ffmpeg | branch: master | Rodger Combs <rodger.combs at gmail.com> | Mon Apr 13 00:39:44 2015 -0500| [a4d58c97d0513904313638a913e2d985be47d3df] | committer: Michael Niedermayer

lavf/http: handle case where the server returns a redirect during a seek

txoffer (e.g. http://tori.aoi-chan.com/ ) redirects to the same URI on your
first request, and serves the actual file on the second. It's stupid, but AFAIK
technically compliant. We'd previously see the server not handing back a Range
header and return an error; now, instead, we see that there's a redirect and
keep track of the offset we want while trying again at the new URL.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a4d58c97d0513904313638a913e2d985be47d3df
---

 libavformat/http.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavformat/http.c b/libavformat/http.c
index b2293da..bbe5de5 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -917,6 +917,9 @@ static int http_connect(URLContext *h, const char *path, const char *local_path,
     if (err < 0)
         goto done;
 
+    if (*new_location)
+        s->off = off;
+
     err = (off == s->off) ? 0 : -1;
 done:
     av_freep(&authstr);



More information about the ffmpeg-cvslog mailing list