diff --git a/subprojects/gst-plugins-bad/ext/qt6d3d11/gstqt6d3d11videoitem.cpp b/subprojects/gst-plugins-bad/ext/qt6d3d11/gstqt6d3d11videoitem.cpp index 3229e91cf0..083f9a21f6 100644 --- a/subprojects/gst-plugins-bad/ext/qt6d3d11/gstqt6d3d11videoitem.cpp +++ b/subprojects/gst-plugins-bad/ext/qt6d3d11/gstqt6d3d11videoitem.cpp @@ -225,8 +225,12 @@ GstQt6D3D11VideoItem::updatePaintNode (QSGNode * old_node, GST_TRACE ("%p updatePaintNode", this); - if (!new_node) + if (!new_node) { + bool is_smooth = this->smooth (); new_node = new GstQSG6D3D11Node (this, qt_device_); + new_node->setFiltering (is_smooth ? QSGTexture::Filtering::Linear : + QSGTexture::Filtering::Nearest); + } if (force_aspect_ratio_ && caps_) { src.w = display_width_;