From 5dcd8e1d880cec05aa51f78e4f92320e6cbfe588 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Sun, 30 May 2021 22:11:11 +0530 Subject: [PATCH] [hls] Disable external downloader for `webtt` --- yt_dlp/downloader/hls.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/yt_dlp/downloader/hls.py b/yt_dlp/downloader/hls.py index c66902cdf..b3afb9e9b 100644 --- a/yt_dlp/downloader/hls.py +++ b/yt_dlp/downloader/hls.py @@ -81,8 +81,6 @@ class HlsFD(FragmentFD): man_url = info_dict['url'] self.to_screen('[%s] Downloading m3u8 manifest' % self.FD_NAME) - is_webvtt = info_dict['ext'] == 'vtt' - urlh = self.ydl.urlopen(self._prepare_url(info_dict, man_url)) man_url = urlh.geturl() s = urlh.read().decode('utf-8', 'ignore') @@ -101,7 +99,11 @@ class HlsFD(FragmentFD): # fd.add_progress_hook(ph) return fd.real_download(filename, info_dict) - real_downloader = _get_real_downloader(info_dict, 'm3u8_frag_urls', self.params, None) + is_webvtt = info_dict['ext'] == 'vtt' + if is_webvtt: + real_downloader = None # Packing the fragments is not currently supported for external downloader + else: + real_downloader = _get_real_downloader(info_dict, 'm3u8_frag_urls', self.params, None) if real_downloader and not real_downloader.supports_manifest(s): real_downloader = None if real_downloader: