]> jfr.im git - yt-dlp.git/commitdiff
[extractor/generic] Detect manifest links via extension
authorbashonly <redacted>
Wed, 1 Mar 2023 12:38:02 +0000 (06:38 -0600)
committerbashonly <redacted>
Wed, 1 Mar 2023 12:38:02 +0000 (06:38 -0600)
Authored by: bashonly

yt_dlp/extractor/generic.py

index d76ef3e31c13b6e14d6cb31e5f0bd67c87c2f049..49aa5a1f5c96c44584c590f32afcd678858a7da3 100644 (file)
@@ -2393,14 +2393,15 @@ def _real_extract(self, url):
             self.report_detected('direct video link')
             headers = smuggled_data.get('http_headers', {})
             format_id = str(m.group('format_id'))
+            ext = determine_ext(url)
             subtitles = {}
-            if format_id.endswith('mpegurl'):
+            if format_id.endswith('mpegurl') or ext == 'm3u8':
                 formats, subtitles = self._extract_m3u8_formats_and_subtitles(url, video_id, 'mp4', headers=headers)
                 info_dict.update(self._fragment_query(url))
-            elif format_id.endswith('mpd') or format_id.endswith('dash+xml'):
+            elif format_id.endswith('mpd') or format_id.endswith('dash+xml') or ext == 'mpd':
                 formats, subtitles = self._extract_mpd_formats_and_subtitles(url, video_id, headers=headers)
                 info_dict.update(self._fragment_query(url))
-            elif format_id == 'f4m':
+            elif format_id == 'f4m' or ext == 'f4m':
                 formats = self._extract_f4m_formats(url, video_id, headers=headers)
             else:
                 formats = [{