summaryrefslogtreecommitdiffstats
path: root/src/multimedia/video
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-04-08 14:29:32 +0200
committerLars Knoll <lars.knoll@qt.io>2021-04-12 10:25:58 +0000
commitfa3c22a0bd392a10af9466be17bcaf153c76e3fc (patch)
tree16244d887c59a780b17a420777a8169f8a9e6ef1 /src/multimedia/video
parent77acd3cb4a1974d88e795a3369d74eccfd730e4f (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.cpp33
-rw-r--r--src/multimedia/video/qvideosink.h11
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();