X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fyoutube.py;h=55c345e8a8d4f2c48ff2620fa56df98cecd5db6b;hb=41cc67c542046d300fc0a8a6bfb6c471db2db6b2;hp=9fb07b3664dd72bfc8ebbfc6dae2a11374483051;hpb=f82b18efc1b8b58201362b6a1965b177cdc7da44;p=youtube-dl diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 9fb07b366..55c345e8a 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -1432,10 +1432,17 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor): 'height': height, 'format_note': note, }) + def _formats_key(f): - return (f.get('height') if f.get('height') is not None else -1, - f.get('width') if f.get('width') is not None else -1) - formats = sorted(formats, key=_formats_key) + note = f.get('format_note') + if note is None: + note = u'' + is_dash = u'DASH' in note + return ( + 0 if is_dash else 1, + f.get('height') if f.get('height') is not None else -1, + f.get('width') if f.get('width') is not None else -1) + formats.sort(key=_formats_key) return { 'id': video_id,