summaryrefslogtreecommitdiff
path: root/libavformat/http.c
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2022-02-02 10:39:23 -0500
committerVittorio Giovara <vittorio.giovara@gmail.com>2022-02-11 11:31:38 +0100
commit0dd1ff67c8a5b687f4b9beb51b425ef7fb8b72c1 (patch)
treeb03ea0f43d5720df40f281ed916906ad0491162b /libavformat/http.c
parentc1228315c97acbe7a6220b4a5f282bd93edbeb42 (diff)
downloadffmpeg-0dd1ff67c8a5b687f4b9beb51b425ef7fb8b72c1.tar.gz
http: Send a Range header even when the offset is 0
Using Range allows for getting the full file size from the Content-Range header in the response, even if the server sends back the response using chunked Transfer-Encoding, which does not allow using Content-Length.
Diffstat (limited to 'libavformat/http.c')
-rw-r--r--libavformat/http.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/http.c b/libavformat/http.c
index c89f8a5517..c79db955e8 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -1469,10 +1469,10 @@ static int http_connect(URLContext *h, const char *path, const char *local_path,
}
if (!has_header(s->headers, "\r\nAccept: "))
av_bprintf(&request, "Accept: */*\r\n");
- // Note: we send this on purpose even when s->off is 0 when we're probing,
+ // Note: we send the Range header on purpose, even 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 && (s->off > 0 || s->end_off || s->seekable == -1)) {
+ if (!has_header(s->headers, "\r\nRange: ") && !post && (s->off > 0 || s->end_off || s->seekable != 0)) {
av_bprintf(&request, "Range: bytes=%"PRIu64"-", s->off);
if (s->end_off)
av_bprintf(&request, "%"PRId64, s->end_off - 1);