summaryrefslogtreecommitdiffstats
path: root/src/multimedia/video/qvideosink.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-03-15 20:15:27 +0100
committerLars Knoll <lars.knoll@qt.io>2021-04-06 07:41:45 +0000
commitd47027dc7b451b782a40a522335dff2d2d0b3332 (patch)
tree9d725e0eeba9a69ab38913c8c59250013b3f2bbf /src/multimedia/video/qvideosink.cpp
parentd2cbf9c44d2e79676a0d4dc5ff35fb4f4a7e1cd9 (diff)
Retrieve the QPlatformVideoSink from the platform integration
Proper layering. Change-Id: I66df7bb883dc70e65d52df854f309545b86c61b6 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/multimedia/video/qvideosink.cpp')
-rw-r--r--src/multimedia/video/qvideosink.cpp45
1 files changed, 30 insertions, 15 deletions
diff --git a/src/multimedia/video/qvideosink.cpp b/src/multimedia/video/qvideosink.cpp
index 7f3b8a8ed..242fc5a60 100644
--- a/src/multimedia/video/qvideosink.cpp
+++ b/src/multimedia/video/qvideosink.cpp
@@ -46,11 +46,22 @@
#include <qpainter.h>
#include <qmatrix4x4.h>
#include <QDebug>
+#include <private/qplatformmediaintegration_p.h>
+#include <private/qplatformvideosink_p.h>
QT_BEGIN_NAMESPACE
class QVideoSinkPrivate {
public:
+ QVideoSinkPrivate()
+ {
+ videoSink = QPlatformMediaIntegration::instance()->createVideoSink();
+ }
+ ~QVideoSinkPrivate()
+ {
+ delete videoSink;
+ }
+ QPlatformVideoSink *videoSink = nullptr;
QVideoSink::GraphicsType type = QVideoSink::Memory;
QVideoSurfaceFormat surfaceFormat;
QSize nativeResolution;
@@ -70,7 +81,6 @@ QVideoSink::QVideoSink(QObject *parent)
: QObject(parent),
d(new QVideoSinkPrivate)
{
-
}
QVideoSink::~QVideoSink()
@@ -96,32 +106,32 @@ bool QVideoSink::isGraphicsTypeSupported(QVideoSink::GraphicsType type)
WId QVideoSink::nativeWindowId() const
{
- return d->window;
+ return d->videoSink->winId();
}
void QVideoSink::setNativeWindowId(WId id)
{
- d->window = id;
+ d->videoSink->setWinId(id);
}
void QVideoSink::setFullScreen(bool fullscreen)
{
- Q_UNUSED(fullscreen);
+ d->videoSink->setFullScreen(fullscreen);
}
bool QVideoSink::isFullscreen() const
{
- return false;
+ return d->videoSink->isFullScreen();
}
Qt::AspectRatioMode QVideoSink::aspectRatioMode() const
{
- return d->aspectRatioMode;
+ return d->videoSink->aspectRatioMode();
}
void QVideoSink::setAspectRatioMode(Qt::AspectRatioMode mode)
{
- d->aspectRatioMode = mode;
+ d->videoSink->setAspectRatioMode(mode);
}
QRectF QVideoSink::targetRect() const
@@ -136,42 +146,42 @@ void QVideoSink::setTargetRect(const QRectF &rect)
int QVideoSink::brightness() const
{
- return d->brightness;
+ return d->videoSink->brightness();
}
void QVideoSink::setBrightness(int brightness)
{
- d->brightness = brightness;
+ d->videoSink->setBrightness(brightness);
}
int QVideoSink::contrast() const
{
- return d->contrast;
+ return d->videoSink->contrast();
}
void QVideoSink::setContrast(int contrast)
{
- d->contrast = contrast;
+ d->videoSink->setContrast(contrast);
}
int QVideoSink::hue() const
{
- return d->hue;
+ return d->videoSink->hue();
}
void QVideoSink::setHue(int hue)
{
- d->hue = hue;
+ d->videoSink->setHue(hue);
}
int QVideoSink::saturation() const
{
- return d->saturation;
+ return d->videoSink->saturation();
}
void QVideoSink::setSaturation(int saturation)
{
- d->saturation = saturation;
+ d->videoSink->setSaturation(saturation);
}
QMatrix4x4 QVideoSink::transform() const
@@ -253,6 +263,11 @@ void QVideoSink::paint(QPainter *painter, const QVideoFrame &f)
}
}
+QPlatformVideoSink *QVideoSink::platformVideoSink()
+{
+ return d->videoSink;
+}
+
QT_END_NAMESPACE
#include "moc_qvideosink.cpp"