aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Fritsch <sf@sfritsch.de>2011-09-04 10:56:24 +0200
committerMartin Storsjö <martin@martin.st>2011-09-04 11:28:53 +0200
commit346ea9e22240b4442f479518f6c3b40c9bec9487 (patch)
tree76af674ea6dd75594d4fac16908b5fcacee8b0b5
parent5ee5dc4e9a094db235fd86454b019b02fa250eee (diff)
downloadffmpeg-346ea9e22240b4442f479518f6c3b40c9bec9487.tar.gz
http: Consider the stream as seekable if the reply contains Accept-Ranges: bytes
The initial request contains "Range: 0-", which servers normally have responded with "HTTP/1.1 206 Partial Content" reply with a Content-Range header, which was used as indicator for seekability. Apache, since 2.2.20, responds with "HTTP/1.1 200 OK" for these requests, which is more friendly to caches and proxies, but the seekability still is indicated via the Accept-Ranges: bytes header. Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r--libavformat/http.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/http.c b/libavformat/http.c
index aa8c6657db..a20bfdfe66 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -265,6 +265,8 @@ static int process_line(URLContext *h, char *line, int line_count,
s->filesize = atoll(slash+1);
}
h->is_streamed = 0; /* we _can_ in fact seek */
+ } else if (!strcasecmp(tag, "Accept-Ranges") && !strncmp(p, "bytes", 5)) {
+ h->is_streamed = 0;
} else if (!strcasecmp (tag, "Transfer-Encoding") && !strncasecmp(p, "chunked", 7)) {
s->filesize = -1;
s->chunksize = 0;