diff --git a/yt_dlp/extractor/common.py b/yt_dlp/extractor/common.py index 2e5238457..987d3dd3e 100644 --- a/yt_dlp/extractor/common.py +++ b/yt_dlp/extractor/common.py @@ -2319,21 +2319,19 @@ class InfoExtractor: traverse_obj(formats, lambda _, v: v.get('vcodec') != 'none' and v['_audio_group_id']), key=lambda x: (x.get('tbr') or 0, x.get('width') or 0))) audio_preference_func = qualities(audio_groups_by_quality) - - def quality_note(audio_group_id): - return { - audio_groups_by_quality[0]: 'low', - audio_groups_by_quality[-1]: 'high', - }.get(audio_group_id) if len(audio_groups_by_quality) > 1 else None + audio_quality_map = { + audio_groups_by_quality[0]: 'low', + audio_groups_by_quality[-1]: 'high', + } if len(audio_groups_by_quality) > 1 else {} for fmt in traverse_obj(formats, lambda _, v: '_audio_group_id' in v): audio_group_id = fmt.pop('_audio_group_id') - if audio_group_id is None or fmt.get('vcodec') != 'none': + if not audio_quality_map or audio_group_id is None or fmt.get('vcodec') != 'none': continue # Use source_preference since quality and preference are set by params fmt['source_preference'] = audio_preference_func(audio_group_id) fmt['format_note'] = join_nonempty( - fmt.get('format_note'), quality_note(audio_group_id), delim=', ') + fmt.get('format_note'), audio_quality_map.get(audio_group_id), delim=', ') return formats, subtitles