From 5096d40486a86ec05dca539bcb82d05c795aab6f Mon Sep 17 00:00:00 2001 From: Val Doroshchuk Date: Wed, 10 Jan 2018 16:12:36 +0100 Subject: Set geometry for recreated video renderer backend If video renderer backend has been recreated, then it needs to update its geometry. Which previously didn't happen and as a result no content was shown. The geometry is now updated from within the video node. Task-number: QTBUG-54680 Change-Id: Iadbf324f4734c9ac6c487eaedd014629ca330599 Reviewed-by: Christian Stromme --- src/qtmultimediaquicktools/qdeclarativevideooutput.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/qtmultimediaquicktools/qdeclarativevideooutput.cpp b/src/qtmultimediaquicktools/qdeclarativevideooutput.cpp index 4fc768438..3c6a6f9c5 100644 --- a/src/qtmultimediaquicktools/qdeclarativevideooutput.cpp +++ b/src/qtmultimediaquicktools/qdeclarativevideooutput.cpp @@ -263,17 +263,16 @@ bool QDeclarativeVideoOutput::createBackend(QMediaService *service) backendAvailable = true; } - if (!backendAvailable) { - qWarning() << Q_FUNC_INFO << "Media service has neither renderer nor window control available."; - m_backend.reset(); - } else if (!m_geometryDirty) { - m_backend->updateGeometry(); - } + if (backendAvailable) { + // Since new backend has been created needs to update its geometry. + m_geometryDirty = true; - if (m_backend) { m_backend->clearFilters(); for (int i = 0; i < m_filters.count(); ++i) m_backend->appendFilter(m_filters[i]); + } else { + qWarning() << Q_FUNC_INFO << "Media service has neither renderer nor window control available."; + m_backend.reset(); } return backendAvailable; -- cgit v1.2.1