diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-04-08 14:29:32 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-04-12 10:25:58 +0000 |
commit | fa3c22a0bd392a10af9466be17bcaf153c76e3fc (patch) | |
tree | 16244d887c59a780b17a420777a8169f8a9e6ef1 /src/multimedia/video | |
parent | 77acd3cb4a1974d88e795a3369d74eccfd730e4f (diff) |
Cleanups in QVideoSink
Remove render() and the transform and opacity properties.
render() because it won't work that way, and the other two
properties because they aren't needed. Those properties can
be set up before drawing and QVideoSink doesn't need to know
about that.
Change-Id: Ib4e45336a59bd1c5b6d95448dbbf858571e8e0ea
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/multimedia/video')
-rw-r--r-- | src/multimedia/video/qvideosink.cpp | 33 | ||||
-rw-r--r-- | src/multimedia/video/qvideosink.h | 11 |
2 files changed, 1 insertions, 43 deletions
diff --git a/src/multimedia/video/qvideosink.cpp b/src/multimedia/video/qvideosink.cpp index b996392b4..d9c678b5a 100644 --- a/src/multimedia/video/qvideosink.cpp +++ b/src/multimedia/video/qvideosink.cpp @@ -77,8 +77,6 @@ public: int saturation = 0; int hue = 0; Qt::BGMode backgroundMode = Qt::OpaqueMode; - QMatrix4x4 transform; - float opacity = 1.; }; QVideoSink::QVideoSink(QObject *parent) @@ -203,26 +201,6 @@ void QVideoSink::setSaturation(int saturation) d->videoSink->setSaturation(saturation); } -QMatrix4x4 QVideoSink::transform() const -{ - return d->transform; -} - -void QVideoSink::setTransform(const QMatrix4x4 &transform) -{ - d->transform = transform; -} - -float QVideoSink::opacity() const -{ - return d->opacity; -} - -void QVideoSink::setOpacity(float opacity) -{ - d->opacity = opacity; -} - Qt::BGMode QVideoSink::backgroundMode() const { return d->backgroundMode; @@ -233,17 +211,11 @@ void QVideoSink::setBackgroundMode(Qt::BGMode mode) d->backgroundMode = mode; } -void QVideoSink::render(const QVideoFrame &frame) -{ - Q_UNUSED(frame); - -} - void QVideoSink::paint(QPainter *painter, const QVideoFrame &f) { QVideoFrame frame(f); if (!frame.isValid()) { - painter->fillRect(d->targetRect, Qt::black); + painter->fillRect(d->targetRect, painter->background()); return; } @@ -294,7 +266,6 @@ void QVideoSink::paint(QPainter *painter, const QVideoFrame &f) if (frame.map(QVideoFrame::ReadOnly)) { QImage image = frame.toImage(); - auto oldOpacity = painter->opacity(); const QTransform oldTransform = painter->transform(); QTransform transform = oldTransform; if (scanLineDirection == QVideoSurfaceFormat::BottomToTop) { @@ -309,10 +280,8 @@ void QVideoSink::paint(QPainter *painter, const QVideoFrame &f) targetRect = QRectF(0, targetRect.y(), targetRect.width(), targetRect.height()); } painter->setTransform(transform); - painter->setOpacity(d->opacity); painter->drawImage(targetRect, image, source); painter->setTransform(oldTransform); - painter->setOpacity(oldOpacity); frame.unmap(); } else if (frame.isValid()) { diff --git a/src/multimedia/video/qvideosink.h b/src/multimedia/video/qvideosink.h index f94a43d2e..524a2af14 100644 --- a/src/multimedia/video/qvideosink.h +++ b/src/multimedia/video/qvideosink.h @@ -101,20 +101,9 @@ public: int saturation() const; void setSaturation(int saturation); - // ignored in windowed mode (GraphicsType == NativeWindow) - QMatrix4x4 transform() const; - void setTransform(const QMatrix4x4 &transform); - - // ignored in windowed mode? - float opacity() const; - void setOpacity(float opacity); - Qt::BGMode backgroundMode() const; void setBackgroundMode(Qt::BGMode mode); - // Thread safe - void render(const QVideoFrame &frame); - void paint(QPainter *painter, const QVideoFrame &frame); QPlatformVideoSink *platformVideoSink(); |