From adb83ac39baa9b7e3faba076d3fd6541e71f6f79 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 21 Dec 2020 19:45:49 +0100 Subject: Cleanup the QMediaPluginLoader We expect only one plugin per service type, later on this will get reduced to one plugin per platform. Change-Id: I01383427efa7021f4c33299c551108982a8bc67a Reviewed-by: Lars Knoll --- src/gsttools/qgstvideorenderersink.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/gsttools/qgstvideorenderersink.cpp') 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 #include -#include +#include #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(instance); if (QGstVideoRenderer *renderer = plugin ? plugin->createRenderer() : nullptr) m_renderers.append(renderer); + ++i; } m_renderers.append(new QGstDefaultVideoRenderer); -- cgit v1.2.3