lavf/http: handle case where the server returns a redirect during a seek
authorRodger Combs <rodger.combs@gmail.com>
Mon, 13 Apr 2015 05:39:44 +0000 (00:39 -0500)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 13 Apr 2015 09:18:50 +0000 (11:18 +0200)
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@gmx.at>
libavformat/http.c

index b2293da..bbe5de5 100644 (file)
@@ -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);