Browse Source

[core] Avoid deepcopy of ctx dict (fix f35b757) (Pt 2)

dirkf 2 years ago
parent
commit
f8253a5289
1 changed files with 2 additions and 3 deletions
  1. 2 3
      youtube_dl/YoutubeDL.py

+ 2 - 3
youtube_dl/YoutubeDL.py

@@ -1389,11 +1389,10 @@ class YoutubeDL(object):
                         'abr': formats_info[1].get('abr'),
                         'abr': formats_info[1].get('abr'),
                         'ext': output_ext,
                         'ext': output_ext,
                     }
                     }
-                video_selector, audio_selector = map(_build_selector_function, selector.selector)
 
 
                 def selector_function(ctx):
                 def selector_function(ctx):
-                    for pair in itertools.product(
-                            video_selector(copy.deepcopy(ctx)), audio_selector(copy.deepcopy(ctx))):
+                    selector_fn = lambda x: _build_selector_function(x)(ctx)
+                    for pair in itertools.product(*map(selector_fn, selector.selector)):
                         yield _merge(pair)
                         yield _merge(pair)
 
 
             filters = [self._build_format_filter(f) for f in selector.filters]
             filters = [self._build_format_filter(f) for f in selector.filters]