aboutsummaryrefslogtreecommitdiff
path: root/yt_dlp/downloader/hls.py
diff options
context:
space:
mode:
Diffstat (limited to 'yt_dlp/downloader/hls.py')
-rw-r--r--yt_dlp/downloader/hls.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/yt_dlp/downloader/hls.py b/yt_dlp/downloader/hls.py
index 7bd116d96..7a47f8f83 100644
--- a/yt_dlp/downloader/hls.py
+++ b/yt_dlp/downloader/hls.py
@@ -72,11 +72,15 @@ class HlsFD(FragmentFD):
def real_download(self, filename, info_dict):
man_url = info_dict['url']
- self.to_screen(f'[{self.FD_NAME}] Downloading m3u8 manifest')
- urlh = self.ydl.urlopen(self._prepare_url(info_dict, man_url))
- man_url = urlh.url
- s = urlh.read().decode('utf-8', 'ignore')
+ s = info_dict.get('hls_media_playlist_data')
+ if s:
+ self.to_screen(f'[{self.FD_NAME}] Using m3u8 manifest from extracted info')
+ else:
+ self.to_screen(f'[{self.FD_NAME}] Downloading m3u8 manifest')
+ urlh = self.ydl.urlopen(self._prepare_url(info_dict, man_url))
+ man_url = urlh.url
+ s = urlh.read().decode('utf-8', 'ignore')
can_download, message = self.can_download(s, info_dict, self.params.get('allow_unplayable_formats')), None
if can_download: