From d63921355aacf5cbd5189ffdbe4d23b9ff318bee Mon Sep 17 00:00:00 2001 From: VaL Doroshchuk Date: Thu, 16 Jan 2020 17:00:22 +0100 Subject: 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 --- src/multimedia/qmediapluginloader.cpp | 4 ++++ 1 file changed, 4 insertions(+) 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(); } -- cgit v1.2.1