[afreecatv] Improve format extraction (closes #15019)
authorSergey M․ <dstftw@gmail.com>
Mon, 18 Dec 2017 17:38:39 +0000 (00:38 +0700)
committerSergey M․ <dstftw@gmail.com>
Mon, 18 Dec 2017 17:38:39 +0000 (00:38 +0700)
youtube_dl/extractor/afreecatv.py

index e6513c7a4d86caabe282fe874826ef5219826085..513dd81df5cd8c044eaba800facdf76cca3cc509 100644 (file)
@@ -228,10 +228,19 @@ class AfreecaTVIE(InfoExtractor):
                     r'^(\d{8})_', key, 'upload date', default=None)
                 file_duration = int_or_none(file_element.get('duration'))
                 format_id = key if key else '%s_%s' % (video_id, file_num)
-                formats = self._extract_m3u8_formats(
-                    file_url, video_id, 'mp4', entry_protocol='m3u8_native',
-                    m3u8_id='hls',
-                    note='Downloading part %d m3u8 information' % file_num)
+                if determine_ext(file_url) == 'm3u8':
+                    formats = self._extract_m3u8_formats(
+                        file_url, video_id, 'mp4', entry_protocol='m3u8_native',
+                        m3u8_id='hls',
+                        note='Downloading part %d m3u8 information' % file_num)
+                else:
+                    formats = [{
+                        'url': file_url,
+                        'format_id': 'http',
+                    }]
+                if not formats:
+                    continue
+                self._sort_formats(formats)
                 file_info = common_entry.copy()
                 file_info.update({
                     'id': format_id,