Skip to content

Commit 476b364

Browse files
committed
yt-dlp: если выбран язык без указания региона, но в списке аудиодорожек присутствует только с регионом, то выбираем его.
Это позволит, указав английский язык ("en"), выбирать аудиодорожки с американским английским ("en-US"). Аналогично будет работать для de-DE, es-US, fr-FR.
1 parent 1e261de commit 476b364

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

src/apps/mplayerc/PlayerYtDlp.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,14 @@ void YT_DLP::FilterAudioFormats(const CStringA& audioLang)
691691
if (lang_found) {
692692
lang_preferred = audioLang;
693693
}
694+
else if (audioLang.GetLength() == 2) {
695+
for (const auto& afmt : mAudioFormats) {
696+
if (afmt.language.GetLength() > 3 && StartsWith(afmt.language, audioLang) && afmt.language[2] == '-') {
697+
lang_preferred = audioLang;
698+
break;
699+
}
700+
}
701+
}
694702

695703
if (lang_preferred.GetLength()) {
696704
mAudioFormats.erase(std::remove_if(mAudioFormats.begin(), mAudioFormats.end(), [&lang_preferred](yt_aformat_t a) { return a.language != lang_preferred; }), mAudioFormats.end());

0 commit comments

Comments
 (0)