From 551f93885e25c208c581702494d758e58b608992 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Sun, 13 Jun 2021 04:16:42 +0530 Subject: [PATCH] Ignore `images` formats from merge --- yt_dlp/YoutubeDL.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 2d37530bc..6d54b2808 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -1691,9 +1691,12 @@ def _merge(formats_pair): formats_info.extend(format_2.get('requested_formats', (format_2,))) if not allow_multiple_streams['video'] or not allow_multiple_streams['audio']: - get_no_more = {"video": False, "audio": False} + get_no_more = {'video': False, 'audio': False} for (i, fmt_info) in enumerate(formats_info): - for aud_vid in ["audio", "video"]: + if fmt_info.get('acodec') == fmt_info.get('vcodec') == 'none': + formats_info.pop(i) + continue + for aud_vid in ['audio', 'video']: if not allow_multiple_streams[aud_vid] and fmt_info.get(aud_vid[0] + 'codec') != 'none': if get_no_more[aud_vid]: formats_info.pop(i) @@ -1801,7 +1804,9 @@ def selector_function(ctx): yield f elif format_spec == 'mergeall': def selector_function(ctx): - formats = list(_check_formats(ctx['formats'])) + formats = ctx['formats'] + if check_formats: + formats = list(_check_formats(formats)) if not formats: return merged_format = formats[-1]