]> jfr.im git - yt-dlp.git/commitdiff
Ignore `images` formats from merge
authorpukkandan <redacted>
Sat, 12 Jun 2021 22:46:42 +0000 (04:16 +0530)
committerpukkandan <redacted>
Sat, 12 Jun 2021 22:46:42 +0000 (04:16 +0530)
yt_dlp/YoutubeDL.py

index 2d37530bc41422550a0eef7eddd59ff7599b1966..6d54b2808fdcc04124da62c785406331481a853c 100644 (file)
@@ -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]