From b4fca6e573638ef2a08f870e8ef2b75369f7b309 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Fri, 20 May 2022 04:46:39 -0400 Subject: [PATCH] directrenderer: update video surface on update Else, changing the resolution is not taken into account correctly. This is a follow-up of daemon sink's refactoring Change-Id: If70d6f0ed40fa9c0a343b8cbbacf7461f3288d01 --- src/directrenderer.cpp | 2 ++ src/shmrenderer.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/directrenderer.cpp b/src/directrenderer.cpp index a207cf76..b692d41e 100644 --- a/src/directrenderer.cpp +++ b/src/directrenderer.cpp @@ -115,9 +115,11 @@ DirectRenderer::stopRendering() void DirectRenderer::update(const QSize& res, const QString&) { + stopRendering(); Renderer::update(res); VideoManager::instance().registerSinkTarget(id(), pimpl_->target); + startRendering(); } Frame diff --git a/src/shmrenderer.cpp b/src/shmrenderer.cpp index ab7f9e17..8bbd2947 100644 --- a/src/shmrenderer.cpp +++ b/src/shmrenderer.cpp @@ -245,6 +245,7 @@ ShmRenderer::~ShmRenderer() void ShmRenderer::update(const QSize& res, const QString& shmPath) { + Q_EMIT stopped(); Renderer::update(res); if (!pimpl_->thread.isRunning()) @@ -252,6 +253,7 @@ ShmRenderer::update(const QSize& res, const QString& shmPath) pimpl_->path = shmPath; VideoManager::instance().startShmSink(id(), true); + Q_EMIT started(); } Frame -- GitLab