From 890f5a41b99d9227f260ab9891126c8ad7633c2a Mon Sep 17 00:00:00 2001 From: Jille Timmermans Date: Sun, 14 Aug 2022 11:36:56 +0200 Subject: [PATCH] [hls downloader] Sleep 10 seconds after getting a 429 Too Many Requests Otherwise the next retry will happen immediately, most likely also getting a 429. --- youtube_dl/downloader/hls.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/youtube_dl/downloader/hls.py b/youtube_dl/downloader/hls.py index 7aaebc940..1185cbbb7 100644 --- a/youtube_dl/downloader/hls.py +++ b/youtube_dl/downloader/hls.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals import re import binascii +import time try: from Crypto.Cipher import AES can_decrypt_frag = True @@ -159,6 +160,8 @@ class HlsFD(FragmentFD): count += 1 if count <= fragment_retries: self.report_retry_fragment(err, frag_index, count, fragment_retries) + if err.code == 429: + time.sleep(10.0) if count > fragment_retries: if skip_unavailable_fragments: i += 1