diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-03-15 20:15:27 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-04-06 07:41:45 +0000 |
commit | d47027dc7b451b782a40a522335dff2d2d0b3332 (patch) | |
tree | 9d725e0eeba9a69ab38913c8c59250013b3f2bbf /src/multimedia/video/qvideosink.cpp | |
parent | d2cbf9c44d2e79676a0d4dc5ff35fb4f4a7e1cd9 (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.cpp | 45 |
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" |