summaryrefslogtreecommitdiffstats
path: root/src/multimediawidgets/qvideowidget.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-08-20 12:18:55 +0200
committerLars Knoll <lars.knoll@qt.io>2021-08-26 16:29:01 +0200
commit1c08cf00aad844512af1aab7b0371541864122c9 (patch)
treed2c5ca6dc9cb0669b369e47dffb38e1fb0f5c93e /src/multimediawidgets/qvideowidget.cpp
parentd19fd931ff1af4f24950115568492c7efa28a655 (diff)
HW accelerated video rendering for QWindow
This implements HW accelerated video rendering to a QWindow using RHI and the textures we get from the video pipeline. This change was triggered by difficulties to create a full HW accelerated path for QVideoWidget on gstreamer. The reason was that the vaapisink that we've been using so far has quite a few bugs and been deprecated by the gstreamer maintainers. This will in a follow-up change allow us to unify the video pipelines for Qt Quick and Widgets, so that we only need to support one way of doing HW accelerated rendering on the backend side. Done-with: Laszlo Agocs <laszlo.agocs@qt.io> Pick-to: 6.2 Change-Id: I143e4416dd8b1cec4e5507e2e5af1eb3d37a496c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/multimediawidgets/qvideowidget.cpp')
-rw-r--r--src/multimediawidgets/qvideowidget.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/multimediawidgets/qvideowidget.cpp b/src/multimediawidgets/qvideowidget.cpp
index f2e0877ee..29670c8ef 100644
--- a/src/multimediawidgets/qvideowidget.cpp
+++ b/src/multimediawidgets/qvideowidget.cpp
@@ -103,6 +103,8 @@ QVideoWidget::QVideoWidget(QWidget *parent)
d_ptr->videoSink = new QVideoSink(this);
connect(d_ptr->videoSink, SIGNAL(newVideoFrame(const QVideoFrame &)), this, SLOT(_q_newFrame(const QVideoFrame &)));
+
+ setAttribute(Qt::WA_UpdatesDisabled);
}
/*!
@@ -254,6 +256,9 @@ void QVideoWidget::moveEvent(QMoveEvent * /*event*/)
*/
void QVideoWidget::paintEvent(QPaintEvent *event)
{
+ // ###
+ return;
+
Q_D(QVideoWidget);
if (d->videoSink && d->lastFrame.isValid()) {