X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fsixplay.py;h=d3aba58a29a981829d0562ee56d992fc49f2f67c;hb=86f4d14f817acaee1f1f544cd9b06d47bc2a5180;hp=f855a1a00cee5ddf037f2f96b81ec67c0329c924;hpb=93ad6c6bfaae8f1ce87a832ece92fa099f0e2095;p=youtube-dl diff --git a/youtube_dl/extractor/sixplay.py b/youtube_dl/extractor/sixplay.py index f855a1a00..d3aba58a2 100644 --- a/youtube_dl/extractor/sixplay.py +++ b/youtube_dl/extractor/sixplay.py @@ -5,6 +5,8 @@ from .common import InfoExtractor from ..utils import ( qualities, int_or_none, + mimetype2ext, + determine_ext, ) @@ -28,25 +30,27 @@ class SixPlayIE(InfoExtractor): video_id) video_data = clip_data['videoInfo'] - preference = qualities(['lq', 'sd', 'hq', 'hd']) + quality_key = qualities(['lq', 'sd', 'hq', 'hd']) formats = [] for source in clip_data['sources']: source_type, source_url = source.get('type'), source.get('src') if not source_url or source_type == 'hls/primetime': continue - if source_type == 'application/vnd.apple.mpegURL': + ext = mimetype2ext(source_type) or determine_ext(source_url) + if ext == 'm3u8': formats.extend(self._extract_m3u8_formats( source_url, video_id, 'mp4', 'm3u8_native', m3u8_id='hls', fatal=False)) formats.extend(self._extract_f4m_formats( source_url.replace('.m3u8', '.f4m'), video_id, f4m_id='hds', fatal=False)) - elif source_type == 'video/mp4': + elif ext == 'mp4': quality = source.get('quality') formats.append({ 'url': source_url, 'format_id': quality, - 'preference': preference(quality), + 'quality': quality_key(quality), + 'ext': ext, }) self._sort_formats(formats)