From patchwork Wed Feb 2 23:49:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vittorio Giovara X-Patchwork-Id: 34078 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp1999422iov; Wed, 2 Feb 2022 15:50:15 -0800 (PST) X-Google-Smtp-Source: ABdhPJzDvH9Q3JRCKYWFDF3gUoUIk4AK0fKzMxpFrXYdfoMUS0QEI4TsLQo16LPu8NJHYZlxV+Lo X-Received: by 2002:a05:6402:2707:: with SMTP id y7mr32972898edd.294.1643845815017; Wed, 02 Feb 2022 15:50:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643845815; cv=none; d=google.com; s=arc-20160816; b=D7+H9XfuseMtDNHSAjBwC2pgjjyG8Ne6wnAY0/J5I9iOq+HXkY5ka/bDE8ETKe7NP5 2XXSUofP4lzMxapLSOwfNmKHaYmLpxNPaAC+QNipD+h1YI5h5lvkpp8s16KEAyhKH4Yv nQdR5WyErKf3PHHjTPfElREC3gj109VsgnFxWu+mkay5DgCCLk0a7Y4KXESvqGAlZj1e bZs5sNhrz5W2LqVFP727gRHWyoHjXUJ5GiwMWENmn9O+H7Oxjj1mFTBtLd9p2bym4H3x WWZMFQvmt5Tx7p36LCZ3Zy05WKlzXV0FUrbze5FpwJeCs6ix804ihyJBRK0dVKK81Euk OsNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=e3XhwJwZgDY1iY75X+0dOM9DQQshIbPhP9gV0EpbS5k=; b=fKPakHle27Zt0U4ciA9L6B+CMgDiyNY0utKp/Y7+5ug1PKiSCXsUboaSNYR0X2q2NW ZTMHbgmEZhEiIZlum7PjF76j0bFLu34PdfO6Gz/d4f0JnSxRbkc0cFyUPxVjMKtG4TiZ 79haMI7gKFwHSVO7ks33F2t40cr8kFlEiVzIFOYMSV9yXVNl2f+Z75MOZb+XNIjLPl7p eZ6zYO9s+Xdet+LQsMkgXONe+NNxusJnDdGV59ppfVyIDMQRPw7BDNxfdfkgx1u5qDK9 DusxP0R9BsPMUBpgGDE/1P9TfReH9kjs1nex/sOOJNdP2NKbShsYnrNUtRC26ohbXdYO TYyA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=heEH1etX; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id s13si12507315ejm.199.2022.02.02.15.50.14; Wed, 02 Feb 2022 15:50:15 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=heEH1etX; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 51CFC68B132; Thu, 3 Feb 2022 01:50:03 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CD8BF68AC7B for ; Thu, 3 Feb 2022 01:49:55 +0200 (EET) Received: by mail-ed1-f47.google.com with SMTP id w14so1868136edd.10 for ; Wed, 02 Feb 2022 15:49:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=RCRHsqPbvyStVY7aq/fhby6fJvo1HFXlWF2Va1IqsMk=; b=heEH1etX9834ge339QLUN55Weggm20uU/GJJbPi1E9j7eJD1+LoGKYBv1Pm6TbrDPr FFjJJforK0dxTWyCbYsw+YHs9XV8TxvzLOdRzHM9tr/mBVmqJqRZeCBPnBJXXyuQd+PQ WJdnw+v6NmYz243EdcwZjFn/SGT/zYO5orybzxuq4xS9gORg5lqOfP67jQMDMhdP/Jlk vsepuUy1u8sI8P3QU1hr0A7BUf18Lwu15XT/8B3JCZPiqII56DM2yvJyNPonMKwQAyfb BGgNbCsc5gZ0vtUMeMD8QEv3TNK/NhCNu/E8Pa6cR1/wyI0Wo//OhhcF0W24jarfGuzy xrxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RCRHsqPbvyStVY7aq/fhby6fJvo1HFXlWF2Va1IqsMk=; b=SlOXIEaiDV68NW6uKbv+r5QF6gnpOEdAepnY7w0tm+4RNNCXIDhbGVPs4v3q8kWP0z LzErgFFGT3LazmJDFycKSPh6m2rFXA6LKjqaOzSYq/a1KB1XavK6roWdl27SJ8VqE1wj AF9EEWpIYfZapqGK34FyGXVB+KHJOAUEeKX47L2wk24MITSN20bDC4K/bEH4vdgm1QUk xKwII+A4SW8al40TqohoK9B81Abq7K3uezdHFOBPOYpdVVolRQJwM0NHD/MUlrjeiqmx bEdGuzEwDP1HYc6WDuqQNw1q6OfmuPq5b+P5meEQbgIqKwYmpiGcOsDtv3IU/+trP0vj rTSw== X-Gm-Message-State: AOAM531wYyd7mZyaGcoPanaQ8td6s41bqTTIA6lVhA2a7KLpP1NOT1le cyznDmeZnyjJUuSU+kuRt8p3zXJgc2I= X-Received: by 2002:a05:6402:254a:: with SMTP id l10mr32112685edb.318.1643845795188; Wed, 02 Feb 2022 15:49:55 -0800 (PST) Received: from vimacbookpro.vimeows.com (93-41-18-244.ip79.fastwebnet.it. [93.41.18.244]) by smtp.gmail.com with ESMTPSA id g7sm21613744edr.71.2022.02.02.15.49.54 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Feb 2022 15:49:54 -0800 (PST) From: Vittorio Giovara To: ffmpeg-devel@ffmpeg.org Date: Thu, 3 Feb 2022 00:49:53 +0100 Message-Id: <20220202234953.6337-2-vittorio.giovara@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220202234953.6337-1-vittorio.giovara@gmail.com> References: <20220202234953.6337-1-vittorio.giovara@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] http: Send a Range header even when the offset is 0 X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: YFwn22fmhrjf From: Justin Ruggles 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. --- libavformat/http.c | 4 ++-- 1 file 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);