diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-02-23 03:01:03 +0100 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-02-23 03:01:03 +0100 |
commit | 14b0f477159b5d0d28b38a67c6f329042ad322fa (patch) | |
tree | b28a0a32fbbdb883686c9ee7b12e57ee1a49674c | |
parent | 997824d20470cdf33c575c20ce22985fe53cbb00 (diff) | |
parent | fea4d302cddbb91e23864a4dbd786d53b72f67ea (diff) |
Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I7a99bdc1300e3e19c85967bf67da3481a259e3c1
-rw-r--r-- | src/gsttools/qgstreamerplayersession.cpp | 8 | ||||
-rw-r--r-- | src/gsttools/qgstreamervideorenderer.cpp | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/gsttools/qgstreamerplayersession.cpp b/src/gsttools/qgstreamerplayersession.cpp index bd402fb3c..f21c94c5c 100644 --- a/src/gsttools/qgstreamerplayersession.cpp +++ b/src/gsttools/qgstreamerplayersession.cpp @@ -47,7 +47,7 @@ #include <private/gstvideoconnector_p.h> #endif #include <private/qgstutils_p.h> -#include <private/qgstutils_p.h> +#include <private/qvideosurfacegstsink_p.h> #include <gst/gstvalue.h> #include <gst/base/gstbasesrc.h> @@ -60,6 +60,7 @@ #include <QtCore/qdebug.h> #include <QtCore/qdir.h> #include <QtCore/qstandardpaths.h> +#include <qvideorenderercontrol.h> //#define DEBUG_PLAYBIN //#define DEBUG_VO_BIN_DUMP @@ -338,6 +339,11 @@ void QGstreamerPlayerSession::loadFromUri(const QNetworkRequest &request) #endif if (m_request.url().scheme() == QLatin1String("gst-pipeline")) { + // Set current surface to video sink before creating a pipeline. + auto renderer = qobject_cast<QVideoRendererControl*>(m_videoOutput); + if (renderer) + QVideoSurfaceGstSink::setSurface(renderer->surface()); + QString url = m_request.url().toString(QUrl::RemoveScheme); QString pipeline = QUrl::fromPercentEncoding(url.toLatin1().constData()); GError *err = nullptr; diff --git a/src/gsttools/qgstreamervideorenderer.cpp b/src/gsttools/qgstreamervideorenderer.cpp index 25fc33cb3..c2226d658 100644 --- a/src/gsttools/qgstreamervideorenderer.cpp +++ b/src/gsttools/qgstreamervideorenderer.cpp @@ -113,7 +113,6 @@ void QGstreamerVideoRenderer::setSurface(QAbstractVideoSurface *surface) if (m_surface) { connect(m_surface.data(), SIGNAL(supportedFormatsChanged()), this, SLOT(handleFormatChange())); - QVideoSurfaceGstSink::setSurface(m_surface); } if (wasReady != isReady()) |