From c7a4e8d578a325fcf626df71614e83c087c6a455 Mon Sep 17 00:00:00 2001 From: bashonly Date: Mon, 24 Mar 2025 17:30:44 -0500 Subject: [PATCH] use `qualities` just in case (non-fatal) Authored by: bashonly --- yt_dlp/extractor/common.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/yt_dlp/extractor/common.py b/yt_dlp/extractor/common.py index b44d06e994..05f80c4879 100644 --- a/yt_dlp/extractor/common.py +++ b/yt_dlp/extractor/common.py @@ -78,6 +78,7 @@ from ..utils import ( parse_iso8601, parse_m3u8_attributes, parse_resolution, + qualities, sanitize_url, smuggle_url, str_or_none, @@ -2325,12 +2326,13 @@ class InfoExtractor: audio_groups_by_quality[0]: 'low', audio_groups_by_quality[-1]: 'high', } if len(audio_groups_by_quality) > 1 else None + audio_preference = qualities(audio_groups_by_quality) for fmt in formats: audio_group_id = fmt.pop('_audio_group_id', None) if not audio_quality_map or not audio_group_id or fmt.get('vcodec') != 'none': continue # Use source_preference since quality and preference are set by params - fmt['source_preference'] = audio_groups_by_quality.index(audio_group_id) + fmt['source_preference'] = audio_preference(audio_group_id) fmt['format_note'] = join_nonempty( fmt.get('format_note'), audio_quality_map.get(audio_group_id), delim=', ')