summaryrefslogtreecommitdiffstats
path: root/src/gsttools/qgstvideorenderersink.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gsttools/qgstvideorenderersink.cpp')
-rw-r--r--src/gsttools/qgstvideorenderersink.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/gsttools/qgstvideorenderersink.cpp b/src/gsttools/qgstvideorenderersink.cpp
index 5257a1849..f282fd751 100644
--- a/src/gsttools/qgstvideorenderersink.cpp
+++ b/src/gsttools/qgstvideorenderersink.cpp
@@ -45,7 +45,7 @@
#include <QEvent>
#include <QCoreApplication>
-#include <private/qmediapluginloader_p.h>
+#include <private/qfactoryloader_p.h>
#include "qgstvideobuffer_p.h"
#include "qgstvideorenderersink_p.h"
@@ -175,17 +175,18 @@ bool QGstDefaultVideoRenderer::proposeAllocation(GstQuery *)
return true;
}
-Q_GLOBAL_STATIC_WITH_ARGS(QMediaPluginLoader, rendererLoader,
+Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, rendererLoader,
(QGstVideoRendererInterface_iid, QLatin1String("video/gstvideorenderer"), Qt::CaseInsensitive))
QVideoSurfaceGstDelegate::QVideoSurfaceGstDelegate(QAbstractVideoSurface *surface)
: m_surface(surface)
{
- const auto instances = rendererLoader()->instances(QGstVideoRendererPluginKey);
- for (QObject *instance : instances) {
+ int i = 0;
+ while (QObject *instance = rendererLoader->instance(i)) {
auto plugin = qobject_cast<QGstVideoRendererInterface*>(instance);
if (QGstVideoRenderer *renderer = plugin ? plugin->createRenderer() : nullptr)
m_renderers.append(renderer);
+ ++i;
}
m_renderers.append(new QGstDefaultVideoRenderer);