summaryrefslogtreecommitdiffstats
path: root/src/multimedia/platform/gstreamer/common/qgstreamervideosink.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/multimedia/platform/gstreamer/common/qgstreamervideosink.cpp')
-rw-r--r--src/multimedia/platform/gstreamer/common/qgstreamervideosink.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/multimedia/platform/gstreamer/common/qgstreamervideosink.cpp b/src/multimedia/platform/gstreamer/common/qgstreamervideosink.cpp
index d8a65a771..75a548225 100644
--- a/src/multimedia/platform/gstreamer/common/qgstreamervideosink.cpp
+++ b/src/multimedia/platform/gstreamer/common/qgstreamervideosink.cpp
@@ -40,6 +40,7 @@
#include "qgstreamervideosink_p.h"
#include "qgstreamervideorenderer_p.h"
#include <private/qgstutils_p.h>
+#include <QtGui/private/qrhi_p.h>
#include <QtCore/qdebug.h>
@@ -57,6 +58,7 @@ QGstreamerVideoSink::QGstreamerVideoSink(QVideoSink *parent)
QGstreamerVideoSink::~QGstreamerVideoSink()
{
delete m_videoOverlay;
+ delete m_videoRenderer;
}
QVideoSink::GraphicsType QGstreamerVideoSink::graphicsType() const
@@ -98,6 +100,16 @@ void QGstreamerVideoSink::setWinId(WId id)
m_videoOverlay->setWindowHandle(m_windowId);
}
+void QGstreamerVideoSink::setRhi(QRhi *rhi)
+{
+ if (rhi && rhi->backend() != QRhi::OpenGLES2)
+ rhi = nullptr;
+ if (m_rhi == rhi)
+ return;
+
+ m_rhi = rhi;
+}
+
bool QGstreamerVideoSink::processSyncMessage(const QGstreamerMessage &message)
{
return m_videoOverlay->processSyncMessage(message);
@@ -205,7 +217,4 @@ void QGstreamerVideoSink::createOverlay()
void QGstreamerVideoSink::createRenderer()
{
m_videoRenderer = new QGstreamerVideoRenderer(sink);
-
- qCDebug(qLcMediaVideoSink) << Q_FUNC_INFO;
- connect(m_videoRenderer, SIGNAL(sinkChanged()), this, SLOT(sinkChanged()));
}