summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVaL Doroshchuk <valentyn.doroshchuk@qt.io>2020-01-16 17:00:22 +0100
committerVaL Doroshchuk <valentyn.doroshchuk@qt.io>2020-01-17 15:55:02 +0100
commitd63921355aacf5cbd5189ffdbe4d23b9ff318bee (patch)
tree9c08c459fca394cb4e47a00b6e99fa592a12ec4e
parent8427c0be1c262293b27c8bca598108cfe882c84e (diff)
Android: Fix loading multimedia plugins
Ater ec0e9f29dfd0b45edf5fd33e8ccf763e604612d7, the logic of accessing to platform plugins has been changed. For Android the plugin suffix is not allowed to have "subdirs" anymore in QFactoryLoader. But some multimedia plugins are located in subdirs like: video/videonode or video/declarativevideobackend And the plugin loader was not able to find plugins by filter: libplugins_video/videonode_*.so Fixes: QTBUG-81006 Change-Id: Ie5bcfa0792cdb67073f08917541ae89387f1c0b5 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
-rw-r--r--src/multimedia/qmediapluginloader.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/multimedia/qmediapluginloader.cpp b/src/multimedia/qmediapluginloader.cpp
index 78ba3207f..88bd591c2 100644
--- a/src/multimedia/qmediapluginloader.cpp
+++ b/src/multimedia/qmediapluginloader.cpp
@@ -50,7 +50,11 @@ QT_BEGIN_NAMESPACE
QMediaPluginLoader::QMediaPluginLoader(const char *iid, const QString &location, Qt::CaseSensitivity caseSensitivity):
m_iid(iid)
{
+#if defined(Q_OS_ANDROID)
+ m_location = QString(location).replace(QLatin1Char('/'), QLatin1Char('_'));
+#else
m_location = QString::fromLatin1("/%1").arg(location);
+#endif
m_factoryLoader = new QFactoryLoader(m_iid, m_location, caseSensitivity);
loadMetadata();
}