mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	| @@ -1,5 +1,6 @@ | ||||
| import base64 | ||||
| import collections | ||||
| import contextlib | ||||
| import functools | ||||
| import getpass | ||||
| import http.client | ||||
| @@ -2129,21 +2130,33 @@ class InfoExtractor: | ||||
|                     raise ExtractorError(errnote, video_id=video_id) | ||||
|                 self.report_warning(f'{errnote}{bug_reports_message()}') | ||||
|             return [], {} | ||||
| 
 | ||||
|         res = self._download_webpage_handle( | ||||
|             m3u8_url, video_id, | ||||
|             note='Downloading m3u8 information' if note is None else note, | ||||
|             errnote='Failed to download m3u8 information' if errnote is None else errnote, | ||||
|         if note is None: | ||||
|             note = 'Downloading m3u8 information' | ||||
|         if errnote is None: | ||||
|             errnote = 'Failed to download m3u8 information' | ||||
|         response = self._request_webpage( | ||||
|             m3u8_url, video_id, note=note, errnote=errnote, | ||||
|             fatal=fatal, data=data, headers=headers, query=query) | ||||
| 
 | ||||
|         if res is False: | ||||
|         if response is False: | ||||
|             return [], {} | ||||
| 
 | ||||
|         m3u8_doc, urlh = res | ||||
|         m3u8_url = urlh.url | ||||
|         with contextlib.closing(response): | ||||
|             prefix = response.read(512) | ||||
|             if not prefix.startswith(b'#EXTM3U'): | ||||
|                 msg = 'Response data has no m3u header' | ||||
|                 if fatal: | ||||
|                     raise ExtractorError(msg, video_id=video_id) | ||||
|                 self.report_warning(f'{msg}{bug_reports_message()}', video_id=video_id) | ||||
|                 return [], {} | ||||
| 
 | ||||
|             content = self._webpage_read_content( | ||||
|                 response, m3u8_url, video_id, note=note, errnote=errnote, | ||||
|                 fatal=fatal, prefix=prefix, data=data) | ||||
|         if content is False: | ||||
|             return [], {} | ||||
| 
 | ||||
|         return self._parse_m3u8_formats_and_subtitles( | ||||
|             m3u8_doc, m3u8_url, ext=ext, entry_protocol=entry_protocol, | ||||
|             content, response.url, ext=ext, entry_protocol=entry_protocol, | ||||
|             preference=preference, quality=quality, m3u8_id=m3u8_id, | ||||
|             note=note, errnote=errnote, fatal=fatal, live=live, data=data, | ||||
|             headers=headers, query=query, video_id=video_id) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Simon Sawicki
					Simon Sawicki