diff --git a/libavformat/http.c b/libavformat/http.c index caedf1181e36a4ff89a6f66a088a2a0eb5bd00f4..d385011203452f2b7aca78e3e65c96ad879eb6d8 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -419,10 +419,10 @@ static int http_connect(URLContext *h, const char *path, const char *local_path, if (!has_header(s->headers, "\r\nAccept: ")) len += av_strlcpy(headers + len, "Accept: */*\r\n", sizeof(headers) - len); - // Note: we send this on purpose even when s->off is 0, + // Note: we send this on purpose even when s->off is 0 when we're probing, // since it allows us to detect more reliably if a (non-conforming) // server supports seeking by analysing the reply headers. - if (!has_header(s->headers, "\r\nRange: ") && !post) + if (!has_header(s->headers, "\r\nRange: ") && !post && (s->off > 0 || s->seekable == -1)) len += av_strlcatf(headers + len, sizeof(headers) - len, "Range: bytes=%"PRId64"-\r\n", s->off);