mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[downloader] Fix throttledratelimit
The timer should not reset at start of each block
This commit is contained in:
		| @@ -58,6 +58,7 @@ class HttpFD(FileDownloader): | |||||||
|         ctx.block_size = self.params.get('buffersize', 1024) |         ctx.block_size = self.params.get('buffersize', 1024) | ||||||
|         ctx.start_time = time.time() |         ctx.start_time = time.time() | ||||||
|         ctx.chunk_size = None |         ctx.chunk_size = None | ||||||
|  |         throttle_start = None | ||||||
|  |  | ||||||
|         if self.params.get('continuedl', True): |         if self.params.get('continuedl', True): | ||||||
|             # Establish possible resume length |             # Establish possible resume length | ||||||
| @@ -197,6 +198,7 @@ class HttpFD(FileDownloader): | |||||||
|                 raise RetryDownload(err) |                 raise RetryDownload(err) | ||||||
|  |  | ||||||
|         def download(): |         def download(): | ||||||
|  |             nonlocal throttle_start | ||||||
|             data_len = ctx.data.info().get('Content-length', None) |             data_len = ctx.data.info().get('Content-length', None) | ||||||
|  |  | ||||||
|             # Range HTTP header may be ignored/unsupported by a webserver |             # 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 |             # 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 |             now = None  # needed for slow_down() in the first loop run | ||||||
|             before = start  # start measuring |             before = start  # start measuring | ||||||
|             throttle_start = None |  | ||||||
|  |  | ||||||
|             def retry(e): |             def retry(e): | ||||||
|                 to_stdout = ctx.tmpfilename == '-' |                 to_stdout = ctx.tmpfilename == '-' | ||||||
| @@ -326,7 +327,7 @@ class HttpFD(FileDownloader): | |||||||
|                         if ctx.stream is not None and ctx.tmpfilename != '-': |                         if ctx.stream is not None and ctx.tmpfilename != '-': | ||||||
|                             ctx.stream.close() |                             ctx.stream.close() | ||||||
|                         raise ThrottledDownload() |                         raise ThrottledDownload() | ||||||
|                 else: |                 elif speed: | ||||||
|                     throttle_start = None |                     throttle_start = None | ||||||
|  |  | ||||||
|             if not is_test and ctx.chunk_size and ctx.data_len is not None and byte_counter < ctx.data_len: |             if not is_test and ctx.chunk_size and ctx.data_len is not None and byte_counter < ctx.data_len: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 pukkandan
					pukkandan