diff --git a/subprojects/gst-plugins-good/ext/qt6/qt6glitem.cc b/subprojects/gst-plugins-good/ext/qt6/qt6glitem.cc index 5bc7003e6e..5314b01acd 100644 --- a/subprojects/gst-plugins-good/ext/qt6/qt6glitem.cc +++ b/subprojects/gst-plugins-good/ext/qt6/qt6glitem.cc @@ -73,6 +73,7 @@ struct _Qt6GLVideoItemPrivate GstCaps *caps; GstVideoInfo new_v_info; GstVideoInfo v_info; + GstVideoRectangle v_rect; gboolean initted; GstGLDisplay *display; @@ -374,6 +375,11 @@ Qt6GLVideoItem::updatePaintNode(QSGNode * oldNode, QRectF rect(result.x, result.y, result.w, result.h); QRectF sourceRect(0, 0, 1, 1); QSGGeometry::updateTexturedRectGeometry(geometry, rect, sourceRect); + if(priv->v_rect.x != result.x || priv->v_rect.y != result.y || + priv->v_rect.w != result.w || priv->v_rect.h != result.h) { + texNode->markDirty(QSGNode::DirtyGeometry); + priv->v_rect = result; + } g_mutex_unlock (&this->priv->lock);