void QGstreamerVideoRenderer::setSurface(QAbstractVideoSurface *surface) { if (m_surface != surface) { //qDebug() << Q_FUNC_INFO << surface; if (m_videoSink) gst_object_unref(GST_OBJECT(m_videoSink)); m_videoSink = 0; if (m_surface) { disconnect(m_surface, SIGNAL(supportedFormatsChanged()), this, SLOT(handleFormatChange())); } m_surface = surface; if (surface && !m_surface) emit readyChanged(true); if (!surface && m_surface) emit readyChanged(false); if (m_surface) { connect(m_surface, SIGNAL(supportedFormatsChanged()), this, SLOT(handleFormatChange())); } emit sinkChanged(); } }
void QGstreamerGLTextureRenderer::setSurface(QAbstractVideoSurface *surface) { if (m_surface != surface) { #ifdef GL_TEXTURE_SINK_DEBUG qDebug() << Q_FUNC_INFO << surface; #endif bool oldReady = isReady(); m_context = m_glEnabled ? const_cast<QGLContext*>(QGLContext::currentContext()) : NULL; if (m_videoSink) gst_object_unref(GST_OBJECT(m_videoSink)); m_videoSink = 0; if (m_surface) { disconnect(m_surface, SIGNAL(supportedFormatsChanged()), this, SLOT(handleFormatChange())); } m_surface = surface; if (oldReady != isReady()) emit readyChanged(!oldReady); if (m_surface) { connect(m_surface, SIGNAL(supportedFormatsChanged()), this, SLOT(handleFormatChange())); } emit sinkChanged(); } }
void QGstreamerVideoRenderer::setSurface(QAbstractVideoSurface *surface) { if (m_surface != surface) { //qDebug() << Q_FUNC_INFO << surface; if (m_videoSink) gst_object_unref(GST_OBJECT(m_videoSink)); m_videoSink = 0; if (m_surface) { disconnect(m_surface.data(), SIGNAL(supportedFormatsChanged()), this, SLOT(handleFormatChange())); } bool wasReady = isReady(); m_surface = surface; if (m_surface) { connect(m_surface.data(), SIGNAL(supportedFormatsChanged()), this, SLOT(handleFormatChange())); } if (wasReady != isReady()) emit readyChanged(isReady()); emit sinkChanged(); } }