aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2021-10-10 09:28:43 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2021-10-10 09:32:00 +0530
commit21186af70a8809f59ad39d1d01f63203ce74da3b (patch)
tree05e8e4e2d11f238092f7ac09823c4549fda4f7db
parent84999521c89a1146feaa0e58d735155df06a6fe5 (diff)
downloadhypervideo-pre-21186af70a8809f59ad39d1d01f63203ce74da3b.tar.lz
hypervideo-pre-21186af70a8809f59ad39d1d01f63203ce74da3b.tar.xz
hypervideo-pre-21186af70a8809f59ad39d1d01f63203ce74da3b.zip
[downloader] Fix throttledratelimit
The timer should not reset at start of each block
-rw-r--r--yt_dlp/downloader/http.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/yt_dlp/downloader/http.py b/yt_dlp/downloader/http.py
index 704ae6f5a..3bc41e5b2 100644
--- a/yt_dlp/downloader/http.py
+++ b/yt_dlp/downloader/http.py
@@ -58,6 +58,7 @@ class HttpFD(FileDownloader):
ctx.block_size = self.params.get('buffersize', 1024)
ctx.start_time = time.time()
ctx.chunk_size = None
+ throttle_start = None
if self.params.get('continuedl', True):
# Establish possible resume length
@@ -197,6 +198,7 @@ class HttpFD(FileDownloader):
raise RetryDownload(err)
def download():
+ nonlocal throttle_start
data_len = ctx.data.info().get('Content-length', None)
# Range HTTP header may be ignored/unsupported by a webserver
@@ -225,7 +227,6 @@ class HttpFD(FileDownloader):
# measure time over whole while-loop, so slow_down() and best_block_size() work together properly
now = None # needed for slow_down() in the first loop run
before = start # start measuring
- throttle_start = None
def retry(e):
to_stdout = ctx.tmpfilename == '-'
@@ -326,7 +327,7 @@ class HttpFD(FileDownloader):
if ctx.stream is not None and ctx.tmpfilename != '-':
ctx.stream.close()
raise ThrottledDownload()
- else:
+ elif speed:
throttle_start = None
if not is_test and ctx.chunk_size and ctx.data_len is not None and byte_counter < ctx.data_len: