diff options
author | Bartlomiej Moskal <bartlomiej.moskal@qt.io> | 2022-11-15 14:39:52 +0100 |
---|---|---|
committer | Bartlomiej Moskal <bartlomiej.moskal@qt.io> | 2023-01-09 14:20:04 +0100 |
commit | e564564e722d02e22a7ee3a688e2db8a7aae6f5c (patch) | |
tree | d8a8f7eb34a2e89a6ae62753dd415eaf9c613c0a | |
parent | 0c6023a693d9dfecb5750221b674062fd35617c3 (diff) |
Android: Fix for subtitle language metadata detection
The QLocale doesn't support ISO639-2 language tags in 6.2. That is why
we should use internal convertion QtMultimediaPrivate::fromIso639.
Task-number: QTBUG-97166
Change-Id: Iee8a3c348d55ef40610eb2b194512f631c3cc3b3
Reviewed-by: Samuel Mira <samuel.mira@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
-rw-r--r-- | src/multimedia/platform/android/mediaplayer/qandroidmetadata.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/multimedia/platform/android/mediaplayer/qandroidmetadata.cpp b/src/multimedia/platform/android/mediaplayer/qandroidmetadata.cpp index 6ddc0b4e2..e2c805928 100644 --- a/src/multimedia/platform/android/mediaplayer/qandroidmetadata.cpp +++ b/src/multimedia/platform/android/mediaplayer/qandroidmetadata.cpp @@ -46,6 +46,7 @@ #include <QtCore/qlist.h> #include <QtConcurrent/qtconcurrentrun.h> #include <QLoggingCategory> +#include <private/qiso639_2_p.h> QT_BEGIN_NAMESPACE @@ -170,15 +171,7 @@ QLocale::Language getLocaleLanguage(const QString &language) if (language == QLatin1String("und") || language == QStringLiteral("mis")) return QLocale::AnyLanguage; - QLocale locale(language); - - if (locale == QLocale::c()) { - qCWarning(lcaMetadata) << "Could not parse language:" << language - << ". It is not a valid Unicode CLDR language code."; - return QLocale::AnyLanguage; - } - - return locale.language(); + return QtMultimediaPrivate::fromIso639(language.toStdString().c_str()); } QAndroidMetaData::QAndroidMetaData(int trackType, int androidTrackType, int androidTrackNumber, |