summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartlomiej Moskal <bartlomiej.moskal@qt.io>2022-11-15 14:39:52 +0100
committerBartlomiej Moskal <bartlomiej.moskal@qt.io>2023-01-09 14:20:04 +0100
commite564564e722d02e22a7ee3a688e2db8a7aae6f5c (patch)
treed8a8f7eb34a2e89a6ae62753dd415eaf9c613c0a
parent0c6023a693d9dfecb5750221b674062fd35617c3 (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.cpp11
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,