From 0715f7e19b4f7e7b423f1fb3a8348fbc85bb82fb Mon Sep 17 00:00:00 2001 From: Felix S Date: Wed, 11 Aug 2021 15:39:17 +0000 Subject: [PATCH] Revert erroneous use of the `Content-Length` header (#637) This reverts commit 6c907eb33ffd79ef9c4761c6460acb31b2eded46 The use of the Content-Length value here is erroneous and may lead to truncated downloads if a compression scheme is specified in the Content-Encoding header, as the Content-Length header refers to the size of encoded data, not of the raw bytestream. This has been noticed in the wild with WebVTT subtitle segments. Authored by: fstirlitz --- yt_dlp/downloader/http.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yt_dlp/downloader/http.py b/yt_dlp/downloader/http.py index 9830f9e27..1edb0f91f 100644 --- a/yt_dlp/downloader/http.py +++ b/yt_dlp/downloader/http.py @@ -238,7 +238,7 @@ def retry(e): while True: try: # Download and write - data_block = ctx.data.read(block_size if data_len is None else min(block_size, data_len - byte_counter)) + data_block = ctx.data.read(block_size if not is_test else min(block_size, data_len - byte_counter)) # socket.timeout is a subclass of socket.error but may not have # errno set except socket.timeout as e: