diff options
Diffstat (limited to 'src/multimedia')
-rw-r--r-- | src/multimedia/platform/qplatformmediaintegration.cpp | 32 | ||||
-rw-r--r-- | src/multimedia/platform/qplatformmediaintegration_p.h | 2 |
2 files changed, 18 insertions, 16 deletions
diff --git a/src/multimedia/platform/qplatformmediaintegration.cpp b/src/multimedia/platform/qplatformmediaintegration.cpp index 1eb113b28..dfa248c56 100644 --- a/src/multimedia/platform/qplatformmediaintegration.cpp +++ b/src/multimedia/platform/qplatformmediaintegration.cpp @@ -40,21 +40,6 @@ Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, static const auto FFmpegBackend = QStringLiteral("ffmpeg"); -static QStringList availableBackends() -{ - QStringList list; - - if (QFactoryLoader *fl = loader()) { - const auto keyMap = fl->keyMap(); - for (auto it = keyMap.constBegin(); it != keyMap.constEnd(); ++it) - if (!list.contains(it.value())) - list << it.value(); - } - - qCDebug(qLcMediaPlugin) << "Available backends" << list; - return list; -} - static QString defaultBackend(const QStringList &backends) { #ifdef QT_DEFAULT_MEDIA_BACKEND @@ -84,7 +69,7 @@ struct InstanceHolder if (!QCoreApplication::instance()) qCCritical(qLcMediaPlugin()) << "Qt Multimedia requires a QCoreApplication instance"; - const auto backends = availableBackends(); + const QStringList backends = QPlatformMediaIntegration::availableBackends(); QString backend = QString::fromUtf8(qgetenv("QT_MEDIA_BACKEND")); if (backend.isEmpty() && !backends.isEmpty()) backend = defaultBackend(backends); @@ -202,6 +187,21 @@ QPlatformMediaDevices *QPlatformMediaIntegration::mediaDevices() // clang-format on +QStringList QPlatformMediaIntegration::availableBackends() +{ + QStringList list; + + if (QFactoryLoader *fl = loader()) { + const auto keyMap = fl->keyMap(); + for (auto it = keyMap.constBegin(); it != keyMap.constEnd(); ++it) + if (!list.contains(it.value())) + list << it.value(); + } + + qCDebug(qLcMediaPlugin) << "Available backends" << list; + return list; +} + QPlatformMediaIntegration::QPlatformMediaIntegration() = default; QPlatformMediaIntegration::~QPlatformMediaIntegration() = default; diff --git a/src/multimedia/platform/qplatformmediaintegration_p.h b/src/multimedia/platform/qplatformmediaintegration_p.h index d47687586..9c3d79a79 100644 --- a/src/multimedia/platform/qplatformmediaintegration_p.h +++ b/src/multimedia/platform/qplatformmediaintegration_p.h @@ -93,6 +93,8 @@ public: QPlatformMediaDevices *mediaDevices(); + static QStringList availableBackends(); + protected: virtual QPlatformMediaFormatInfo *createFormatInfo(); |