From f33731fe5a265bad8cfbe6a0c83d3d3806d730f8 Mon Sep 17 00:00:00 2001 From: Mithra Pattison Date: Mon, 19 Dec 2011 19:23:21 +1000 Subject: [PATCH] Fix readyChanged signal emit in gstreamervideorenderer Modified handling of source update in gstreamervideorenderer as the existing logic meant that it would never emit the readyChanged signal. Change-Id: I0a1488cfc151388fe0145d231001e502e9f45f0e Reviewed-by: Michael Goddard Reviewed-by: Mithra Pattison --- src/plugins/gstreamer/qgstreamervideorenderer.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/plugins/gstreamer/qgstreamervideorenderer.cpp b/src/plugins/gstreamer/qgstreamervideorenderer.cpp index ead0bdc..ac3d4a1 100644 --- a/src/plugins/gstreamer/qgstreamervideorenderer.cpp +++ b/src/plugins/gstreamer/qgstreamervideorenderer.cpp @@ -90,20 +90,19 @@ void QGstreamerVideoRenderer::setSurface(QAbstractVideoSurface *surface) disconnect(m_surface, SIGNAL(supportedFormatsChanged()), this, SLOT(handleFormatChange())); } - - m_surface = surface; - if (surface && !m_surface) - emit readyChanged(true); + bool wasReady = isReady(); - if (!surface && m_surface) - emit readyChanged(false); + m_surface = surface; if (m_surface) { connect(m_surface, SIGNAL(supportedFormatsChanged()), this, SLOT(handleFormatChange())); } + if (wasReady != isReady()) + emit readyChanged(isReady()); + emit sinkChanged(); } } -- 2.7.4