From c45a5a0b420ceb09262a8695c63008b1ce27490a Mon Sep 17 00:00:00 2001 From: Lev Zelenskiy Date: Thu, 3 May 2012 11:34:33 +1000 Subject: [PATCH] Implement QGstreamerVideoRenderer::stopRenderer() Surface has to be stopped when QGstreamerVideoRendererInterface::stopRenderer() is called. This fixes a media player issue when video output is not cleared when media is set to 0. Change-Id: Ifdc851797519dcdf95db86e8dcec93b3866c388e Reviewed-by: Dmytro Poplavskiy --- src/gsttools/qgstreamervideorenderer.cpp | 5 +++++ src/multimedia/gsttools_headers/qgstreamervideorenderer_p.h | 1 + 2 files changed, 6 insertions(+) diff --git a/src/gsttools/qgstreamervideorenderer.cpp b/src/gsttools/qgstreamervideorenderer.cpp index bd2a0b12..c0dbe093 100644 --- a/src/gsttools/qgstreamervideorenderer.cpp +++ b/src/gsttools/qgstreamervideorenderer.cpp @@ -69,6 +69,11 @@ GstElement *QGstreamerVideoRenderer::videoSink() return reinterpret_cast(m_videoSink); } +void QGstreamerVideoRenderer::stopRenderer() +{ + if (m_surface) + m_surface->stop(); +} QAbstractVideoSurface *QGstreamerVideoRenderer::surface() const { diff --git a/src/multimedia/gsttools_headers/qgstreamervideorenderer_p.h b/src/multimedia/gsttools_headers/qgstreamervideorenderer_p.h index 76a10815..2a6a6724 100644 --- a/src/multimedia/gsttools_headers/qgstreamervideorenderer_p.h +++ b/src/multimedia/gsttools_headers/qgstreamervideorenderer_p.h @@ -62,6 +62,7 @@ public: GstElement *videoSink(); + void stopRenderer(); bool isReady() const { return m_surface != 0; } signals: