From: Mithra Pattison Date: Mon, 19 Dec 2011 09:23:21 +0000 (+1000) Subject: Fix readyChanged signal emit in gstreamervideorenderer X-Git-Tag: upstream/5.2.95+rc1~663 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f33731fe5a265bad8cfbe6a0c83d3d3806d730f8;p=platform%2Fupstream%2Fqtmultimedia.git 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 --- 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(); } }