summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-02-12 18:15:58 +0100
committerLars Knoll <lars.knoll@qt.io>2021-03-02 14:49:17 +0000
commitcfdc30634a914747602796187ab41eb424d02fd9 (patch)
tree141b6068a561552d299c5b3a7c2b76184d28126a
parent9dd7188e50210c9e059dfe5d1e2715375b5e4a61 (diff)
Get rid of QVideoRendererControl
It's a pure implementation detail in the backends now (and can in cases even get removed there). No need for an interface. Change-Id: Ib61cebe80d0369424d4ee681992e4abc80c11a14 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r--src/imports/multimedia/qdeclarativecamera.cpp2
-rw-r--r--src/multimedia/CMakeLists.txt2
-rw-r--r--src/multimedia/camera/qcamera.cpp1
-rw-r--r--src/multimedia/controls/qcameracontrol.h1
-rw-r--r--src/multimedia/controls/qvideorenderercontrol.cpp86
-rw-r--r--src/multimedia/controls/qvideorenderercontrol.h64
-rw-r--r--src/multimedia/platform/android/mediacapture/qandroidcameravideorenderercontrol.cpp2
-rw-r--r--src/multimedia/platform/android/mediacapture/qandroidcameravideorenderercontrol_p.h8
-rw-r--r--src/multimedia/platform/android/mediaplayer/qandroidmediaplayervideorenderercontrol.cpp2
-rw-r--r--src/multimedia/platform/android/mediaplayer/qandroidmediaplayervideorenderercontrol_p.h8
-rw-r--r--src/multimedia/platform/darwin/camera/avfcamerarenderercontrol.mm2
-rw-r--r--src/multimedia/platform/darwin/camera/avfcamerarenderercontrol_p.h8
-rw-r--r--src/multimedia/platform/darwin/mediaplayer/avfvideorenderercontrol.mm2
-rw-r--r--src/multimedia/platform/darwin/mediaplayer/avfvideorenderercontrol_p.h8
-rw-r--r--src/multimedia/platform/gstreamer/common/qgstreamerplayersession.cpp7
-rw-r--r--src/multimedia/platform/gstreamer/common/qgstreamervideorenderer.cpp2
-rw-r--r--src/multimedia/platform/gstreamer/common/qgstreamervideorenderer_p.h7
-rw-r--r--src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol.cpp3
-rw-r--r--src/multimedia/platform/qnx/camera/bbvideorenderercontrol.cpp2
-rw-r--r--src/multimedia/platform/qnx/camera/bbvideorenderercontrol_p.h4
-rw-r--r--src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayerservice.cpp116
-rw-r--r--src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayerservice_p.h93
-rw-r--r--src/multimedia/platform/qnx/mediaplayer/mmrendererplayervideorenderercontrol_p.h4
-rw-r--r--src/multimedia/platform/qnx/qqnxintegration.cpp7
-rw-r--r--src/multimedia/platform/qnx/qqnxintegration_p.h2
-rw-r--r--src/multimedia/platform/qplatformmediaintegration_p.h2
-rw-r--r--src/multimedia/platform/windows/player/mfvideorenderercontrol_p.h4
-rw-r--r--src/multimediawidgets/qgraphicsvideoitem.cpp2
-rw-r--r--src/multimediawidgets/qvideowidget.cpp2
-rw-r--r--src/multimediawidgets/qvideowidget_p.h4
-rw-r--r--src/qtmultimediaquicktools/qdeclarativevideooutput.cpp4
-rw-r--r--src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp2
-rw-r--r--src/qtmultimediaquicktools/qdeclarativevideooutput_render_p.h2
-rw-r--r--tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp2
-rw-r--r--tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp2
-rw-r--r--tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp2
-rw-r--r--tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp2
-rw-r--r--tests/auto/unit/multimediawidgets/qcamerawidgets/tst_qcamerawidgets.cpp2
38 files changed, 55 insertions, 420 deletions
diff --git a/src/imports/multimedia/qdeclarativecamera.cpp b/src/imports/multimedia/qdeclarativecamera.cpp
index 41320edcf..45145853b 100644
--- a/src/imports/multimedia/qdeclarativecamera.cpp
+++ b/src/imports/multimedia/qdeclarativecamera.cpp
@@ -49,7 +49,7 @@
#include "qdeclarativemediametadata_p.h"
#include <private/qplatformmediaplayer_p.h>
-#include <qvideorenderercontrol.h>
+#include <qobject.h>
#include <QMediaDeviceManager>
#include <QtQml/qqmlinfo.h>
diff --git a/src/multimedia/CMakeLists.txt b/src/multimedia/CMakeLists.txt
index bfaec7354..144e17b8e 100644
--- a/src/multimedia/CMakeLists.txt
+++ b/src/multimedia/CMakeLists.txt
@@ -38,7 +38,6 @@ qt_internal_add_module(Multimedia
controls/qcameraimageprocessingcontrol.cpp controls/qcameraimageprocessingcontrol.h
controls/qmediarecordercontrol.cpp controls/qmediarecordercontrol.h
controls/qmediastreamscontrol.cpp controls/qmediastreamscontrol.h
- controls/qvideorenderercontrol.cpp controls/qvideorenderercontrol.h
controls/qvideowindowcontrol.cpp controls/qvideowindowcontrol.h
platform/qplatformmediacapture.cpp platform/qplatformmediacapture_p.h
platform/qplatformmediadevicemanager.cpp platform/qplatformmediadevicemanager_p.h
@@ -489,7 +488,6 @@ qt_internal_extend_target(Multimedia CONDITION QNX
platform/qnx/camera/bbvideorenderercontrol.cpp platform/qnx/camera/bbvideorenderercontrol_p.h
platform/qnx/common/windowgrabber.cpp platform/qnx/common/windowgrabber_p.h
platform/qnx/mediaplayer/mmrenderermediaplayercontrol.cpp platform/qnx/mediaplayer/mmrenderermediaplayercontrol_p.h
- platform/qnx/mediaplayer/mmrenderermediaplayerservice.cpp platform/qnx/mediaplayer/mmrenderermediaplayerservice_p.h
platform/qnx/mediaplayer/mmrenderermetadata.cpp platform/qnx/mediaplayer/mmrenderermetadata_p.h
platform/qnx/mediaplayer/mmrendererplayervideorenderercontrol.cpp platform/qnx/mediaplayer/mmrendererplayervideorenderercontrol_p.h
platform/qnx/mediaplayer/mmrendererutil.cpp platform/qnx/mediaplayer/mmrendererutil_p.h
diff --git a/src/multimedia/camera/qcamera.cpp b/src/multimedia/camera/qcamera.cpp
index ee4686f28..13d956857 100644
--- a/src/multimedia/camera/qcamera.cpp
+++ b/src/multimedia/camera/qcamera.cpp
@@ -46,7 +46,6 @@
#include <qcamerafocuscontrol.h>
#include <qcameraimageprocessingcontrol.h>
#include <qcameraimagecapturecontrol.h>
-#include <qvideorenderercontrol.h>
#include <private/qplatformmediaintegration_p.h>
#include <private/qplatformmediacapture_p.h>
#include <qmediadevicemanager.h>
diff --git a/src/multimedia/controls/qcameracontrol.h b/src/multimedia/controls/qcameracontrol.h
index f306e3e7a..cfcd29cd3 100644
--- a/src/multimedia/controls/qcameracontrol.h
+++ b/src/multimedia/controls/qcameracontrol.h
@@ -52,7 +52,6 @@ class QString;
class QCameraFocusControl;
class QCameraExposureControl;
class QCameraImageProcessingControl;
-class QVideoRendererControl;
class Q_MULTIMEDIA_EXPORT QCameraControl : public QObject
{
diff --git a/src/multimedia/controls/qvideorenderercontrol.cpp b/src/multimedia/controls/qvideorenderercontrol.cpp
deleted file mode 100644
index 685c4fb29..000000000
--- a/src/multimedia/controls/qvideorenderercontrol.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qvideorenderercontrol.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QVideoRendererControl
- \obsolete
-
- \inmodule QtMultimedia
- \brief The QVideoRendererControl class provides a media control for rendering video to a QAbstractVideoSurface.
-
-
- \ingroup multimedia_control
-
- Using the surface() property of QVideoRendererControl a
- QAbstractVideoSurface may be set as the video render target.
-
- \snippet multimedia-snippets/video.cpp Video renderer control
-
- QVideoRendererControl is one of a number of possible video output controls.
-
- \sa QVideoWidget
-*/
-
-/*!
- Constructs a new video renderer media end point with the given \a parent.
-*/
-QVideoRendererControl::QVideoRendererControl(QObject *parent)
- : QObject(parent)
-{
-}
-
-/*!
- \fn QVideoRendererControl::surface() const
-
- Returns the surface a video producer renders to.
-*/
-
-/*!
- \fn QVideoRendererControl::setSurface(QAbstractVideoSurface *surface)
-
- Sets the \a surface a video producer renders to.
-*/
-
-QT_END_NAMESPACE
-
-#include "moc_qvideorenderercontrol.cpp"
diff --git a/src/multimedia/controls/qvideorenderercontrol.h b/src/multimedia/controls/qvideorenderercontrol.h
deleted file mode 100644
index 3865b90ce..000000000
--- a/src/multimedia/controls/qvideorenderercontrol.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QVIDEORENDERERCONTROL_H
-#define QVIDEORENDERERCONTROL_H
-
-#include <QtCore/qobject.h>
-#include <QtMultimedia/qtmultimediaglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class QAbstractVideoSurface;
-class Q_MULTIMEDIA_EXPORT QVideoRendererControl : public QObject
-{
- Q_OBJECT
-
-public:
- virtual QAbstractVideoSurface *surface() const = 0;
- virtual void setSurface(QAbstractVideoSurface *surface) = 0;
-
-protected:
- explicit QVideoRendererControl(QObject *parent = nullptr);
-};
-
-QT_END_NAMESPACE
-
-
-#endif // QVIDEORENDERERCONTROL_H
diff --git a/src/multimedia/platform/android/mediacapture/qandroidcameravideorenderercontrol.cpp b/src/multimedia/platform/android/mediacapture/qandroidcameravideorenderercontrol.cpp
index 2124cc923..6c4f36914 100644
--- a/src/multimedia/platform/android/mediacapture/qandroidcameravideorenderercontrol.cpp
+++ b/src/multimedia/platform/android/mediacapture/qandroidcameravideorenderercontrol.cpp
@@ -226,7 +226,7 @@ void QAndroidCameraDataVideoOutput::presentFrame()
QAndroidCameraVideoRendererControl::QAndroidCameraVideoRendererControl(QAndroidCameraSession *session, QObject *parent)
- : QVideoRendererControl(parent)
+ : QObject(parent)
, m_cameraSession(session)
, m_surface(0)
, m_textureOutput(0)
diff --git a/src/multimedia/platform/android/mediacapture/qandroidcameravideorenderercontrol_p.h b/src/multimedia/platform/android/mediacapture/qandroidcameravideorenderercontrol_p.h
index 0deaac943..d55f331a0 100644
--- a/src/multimedia/platform/android/mediacapture/qandroidcameravideorenderercontrol_p.h
+++ b/src/multimedia/platform/android/mediacapture/qandroidcameravideorenderercontrol_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <qvideorenderercontrol.h>
+#include <qobject.h>
QT_BEGIN_NAMESPACE
@@ -59,15 +59,15 @@ class QAndroidCameraSession;
class QAndroidTextureVideoOutput;
class QAndroidCameraDataVideoOutput;
-class QAndroidCameraVideoRendererControl : public QVideoRendererControl
+class QAndroidCameraVideoRendererControl : public QObject
{
Q_OBJECT
public:
QAndroidCameraVideoRendererControl(QAndroidCameraSession *session, QObject *parent = 0);
~QAndroidCameraVideoRendererControl() override;
- QAbstractVideoSurface *surface() const override;
- void setSurface(QAbstractVideoSurface *surface) override;
+ QAbstractVideoSurface *surface() const;
+ void setSurface(QAbstractVideoSurface *surface);
QAndroidCameraSession *cameraSession() const { return m_cameraSession; }
diff --git a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayervideorenderercontrol.cpp b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayervideorenderercontrol.cpp
index aed7ba671..1e1b73984 100644
--- a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayervideorenderercontrol.cpp
+++ b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayervideorenderercontrol.cpp
@@ -46,7 +46,7 @@
QT_BEGIN_NAMESPACE
QAndroidMediaPlayerVideoRendererControl::QAndroidMediaPlayerVideoRendererControl(QAndroidMediaPlayerControl *mediaPlayer, QObject *parent)
- : QVideoRendererControl(parent)
+ : QObject(parent)
, m_mediaPlayerControl(mediaPlayer)
, m_surface(0)
, m_textureOutput(new QAndroidTextureVideoOutput(this))
diff --git a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayervideorenderercontrol_p.h b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayervideorenderercontrol_p.h
index 91aed30fb..11dc86a60 100644
--- a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayervideorenderercontrol_p.h
+++ b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayervideorenderercontrol_p.h
@@ -51,22 +51,22 @@
// We mean it.
//
-#include <qvideorenderercontrol.h>
+#include <qobject.h>
QT_BEGIN_NAMESPACE
class QAndroidMediaPlayerControl;
class QAndroidTextureVideoOutput;
-class QAndroidMediaPlayerVideoRendererControl : public QVideoRendererControl
+class QAndroidMediaPlayerVideoRendererControl : public QObject
{
Q_OBJECT
public:
QAndroidMediaPlayerVideoRendererControl(QAndroidMediaPlayerControl *mediaPlayer, QObject *parent = 0);
~QAndroidMediaPlayerVideoRendererControl() override;
- QAbstractVideoSurface *surface() const override;
- void setSurface(QAbstractVideoSurface *surface) override;
+ QAbstractVideoSurface *surface() const;
+ void setSurface(QAbstractVideoSurface *surface);
private:
QAndroidMediaPlayerControl *m_mediaPlayerControl;
diff --git a/src/multimedia/platform/darwin/camera/avfcamerarenderercontrol.mm b/src/multimedia/platform/darwin/camera/avfcamerarenderercontrol.mm
index f04b0af41..01ad9c30d 100644
--- a/src/multimedia/platform/darwin/camera/avfcamerarenderercontrol.mm
+++ b/src/multimedia/platform/darwin/camera/avfcamerarenderercontrol.mm
@@ -263,7 +263,7 @@ private:
AVFCameraRendererControl::AVFCameraRendererControl(QObject *parent)
- : QVideoRendererControl(parent)
+ : QObject(parent)
, m_surface(nullptr)
, m_supportsTextures(false)
, m_needsHorizontalMirroring(false)
diff --git a/src/multimedia/platform/darwin/camera/avfcamerarenderercontrol_p.h b/src/multimedia/platform/darwin/camera/avfcamerarenderercontrol_p.h
index ade916ed6..a7fc4fd25 100644
--- a/src/multimedia/platform/darwin/camera/avfcamerarenderercontrol_p.h
+++ b/src/multimedia/platform/darwin/camera/avfcamerarenderercontrol_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <QtMultimedia/qvideorenderercontrol.h>
+#include <QtCore/qobject.h>
#include <QtMultimedia/qvideoframe.h>
#include <QtCore/qmutex.h>
@@ -65,15 +65,15 @@ class AVFCameraSession;
class AVFCameraService;
class AVFCameraRendererControl;
-class AVFCameraRendererControl : public QVideoRendererControl
+class AVFCameraRendererControl : public QObject
{
Q_OBJECT
public:
AVFCameraRendererControl(QObject *parent = nullptr);
~AVFCameraRendererControl();
- QAbstractVideoSurface *surface() const override;
- void setSurface(QAbstractVideoSurface *surface) override;
+ QAbstractVideoSurface *surface() const;
+ void setSurface(QAbstractVideoSurface *surface);
void configureAVCaptureSession(AVFCameraSession *cameraSession);
void syncHandleViewfinderFrame(const QVideoFrame &frame);
diff --git a/src/multimedia/platform/darwin/mediaplayer/avfvideorenderercontrol.mm b/src/multimedia/platform/darwin/mediaplayer/avfvideorenderercontrol.mm
index aae07cd20..456ffff71 100644
--- a/src/multimedia/platform/darwin/mediaplayer/avfvideorenderercontrol.mm
+++ b/src/multimedia/platform/darwin/mediaplayer/avfvideorenderercontrol.mm
@@ -84,7 +84,7 @@ private:
};
AVFVideoRendererControl::AVFVideoRendererControl(QObject *parent)
- : QVideoRendererControl(parent)
+ : QObject(parent)
, m_surface(nullptr)
, m_playerLayer(nullptr)
, m_frameRenderer(nullptr)
diff --git a/src/multimedia/platform/darwin/mediaplayer/avfvideorenderercontrol_p.h b/src/multimedia/platform/darwin/mediaplayer/avfvideorenderercontrol_p.h
index 4c5f292ea..21a3617d2 100644
--- a/src/multimedia/platform/darwin/mediaplayer/avfvideorenderercontrol_p.h
+++ b/src/multimedia/platform/darwin/mediaplayer/avfvideorenderercontrol_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <QtMultimedia/QVideoRendererControl>
+#include <QtCore/QObject>
#include <QtCore/QMutex>
#include <QtCore/QSize>
@@ -64,15 +64,15 @@ QT_BEGIN_NAMESPACE
class AVFDisplayLink;
class AVFVideoFrameRenderer;
-class AVFVideoRendererControl : public QVideoRendererControl, public AVFVideoOutput
+class AVFVideoRendererControl : public QObject, public AVFVideoOutput
{
Q_OBJECT
public:
explicit AVFVideoRendererControl(QObject *parent = nullptr);
virtual ~AVFVideoRendererControl();
- QAbstractVideoSurface *surface() const override;
- void setSurface(QAbstractVideoSurface *surface) override;
+ QAbstractVideoSurface *surface() const;
+ void setSurface(QAbstractVideoSurface *surface);
void setLayer(CALayer *playerLayer) override;
diff --git a/src/multimedia/platform/gstreamer/common/qgstreamerplayersession.cpp b/src/multimedia/platform/gstreamer/common/qgstreamerplayersession.cpp
index bb76db405..d304e5252 100644
--- a/src/multimedia/platform/gstreamer/common/qgstreamerplayersession.cpp
+++ b/src/multimedia/platform/gstreamer/common/qgstreamerplayersession.cpp
@@ -56,7 +56,7 @@
#include <QtCore/qdebug.h>
#include <QtCore/qdir.h>
#include <QtCore/qstandardpaths.h>
-#include <qvideorenderercontrol.h>
+#include <qobject.h>
#include <QUrlQuery>
#include <private/qaudiodeviceinfo_gstreamer_p.h>
@@ -306,9 +306,8 @@ bool QGstreamerPlayerSession::parsePipeline()
}
// Set current surface to video sink before creating a pipeline.
- auto renderer = qobject_cast<QVideoRendererControl *>(m_videoOutput);
- if (renderer)
- QGstVideoRendererSink::setSurface(renderer->surface());
+ if (m_videoOutput)
+ QGstVideoRendererSink::setSurface(m_videoOutput->surface());
QString url = m_request.url().toString(QUrl::RemoveScheme);
QString desc = QUrl::fromPercentEncoding(url.toLatin1().constData());
diff --git a/src/multimedia/platform/gstreamer/common/qgstreamervideorenderer.cpp b/src/multimedia/platform/gstreamer/common/qgstreamervideorenderer.cpp
index d76d51225..85791892b 100644
--- a/src/multimedia/platform/gstreamer/common/qgstreamervideorenderer.cpp
+++ b/src/multimedia/platform/gstreamer/common/qgstreamervideorenderer.cpp
@@ -57,7 +57,7 @@ static inline void resetSink(GstElement *&element, GstElement *v = nullptr)
}
QGstreamerVideoRenderer::QGstreamerVideoRenderer(QObject *parent)
- : QVideoRendererControl(parent)
+ : QObject(parent)
{
}
diff --git a/src/multimedia/platform/gstreamer/common/qgstreamervideorenderer_p.h b/src/multimedia/platform/gstreamer/common/qgstreamervideorenderer_p.h
index cbc9a0328..75ccb64f1 100644
--- a/src/multimedia/platform/gstreamer/common/qgstreamervideorenderer_p.h
+++ b/src/multimedia/platform/gstreamer/common/qgstreamervideorenderer_p.h
@@ -53,22 +53,21 @@
#include <private/qtmultimediaglobal_p.h>
#include <private/qgstvideorenderersink_p.h>
-#include <qvideorenderercontrol.h>
#include <qabstractvideosurface.h>
#include "qgstreamervideorendererinterface_p.h"
QT_BEGIN_NAMESPACE
-class Q_MULTIMEDIA_EXPORT QGstreamerVideoRenderer : public QVideoRendererControl, public QGstreamerVideoRendererInterface
+class Q_MULTIMEDIA_EXPORT QGstreamerVideoRenderer : public QObject, public QGstreamerVideoRendererInterface
{
Q_OBJECT
public:
QGstreamerVideoRenderer(QObject *parent = 0);
virtual ~QGstreamerVideoRenderer();
- QAbstractVideoSurface *surface() const override;
- void setSurface(QAbstractVideoSurface *surface) override;
+ QAbstractVideoSurface *surface() const;
+ void setSurface(QAbstractVideoSurface *surface);
GstElement *videoSink() override;
void setVideoSink(GstElement *) override;
diff --git a/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol.cpp b/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol.cpp
index 332bd0606..3a84e8a5f 100644
--- a/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol.cpp
+++ b/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol.cpp
@@ -39,7 +39,6 @@
#include "qgstreamercameracontrol_p.h"
#include "qgstreamerimagecapturecontrol_p.h"
-#include <qvideorenderercontrol.h>
#include <qcamerainfo.h>
@@ -48,7 +47,7 @@
QGstreamerCameraControl::QGstreamerCameraControl(QGstreamerCaptureSession *session)
- :QCameraControl(session),
+ : QCameraControl(session),
m_session(session),
m_state(QCamera::UnloadedState),
m_status(QCamera::UnloadedStatus),
diff --git a/src/multimedia/platform/qnx/camera/bbvideorenderercontrol.cpp b/src/multimedia/platform/qnx/camera/bbvideorenderercontrol.cpp
index 58739a1ed..9e743bac1 100644
--- a/src/multimedia/platform/qnx/camera/bbvideorenderercontrol.cpp
+++ b/src/multimedia/platform/qnx/camera/bbvideorenderercontrol.cpp
@@ -44,7 +44,7 @@
QT_BEGIN_NAMESPACE
BbVideoRendererControl::BbVideoRendererControl(BbCameraSession *session, QObject *parent)
- : QVideoRendererControl(parent)
+ : QObject(parent)
, m_session(session)
{
}
diff --git a/src/multimedia/platform/qnx/camera/bbvideorenderercontrol_p.h b/src/multimedia/platform/qnx/camera/bbvideorenderercontrol_p.h
index 95448077b..7c59b7711 100644
--- a/src/multimedia/platform/qnx/camera/bbvideorenderercontrol_p.h
+++ b/src/multimedia/platform/qnx/camera/bbvideorenderercontrol_p.h
@@ -50,13 +50,13 @@
// We mean it.
//
-#include <qvideorenderercontrol.h>
+#include <qobject.h>
QT_BEGIN_NAMESPACE
class BbCameraSession;
-class BbVideoRendererControl : public QVideoRendererControl
+class BbVideoRendererControl : public QObject
{
Q_OBJECT
public:
diff --git a/src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayerservice.cpp b/src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayerservice.cpp
deleted file mode 100644
index 4d633f512..000000000
--- a/src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayerservice.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "mmrenderermediaplayerservice_p.h"
-
-#include "mmrenderermediaplayercontrol_p.h"
-#include "mmrendererplayervideorenderercontrol_p.h"
-#include "mmrendererutil_p.h"
-#include "mmrenderervideowindowcontrol_p.h"
-
-#include "mmreventmediaplayercontrol_p.h"
-
-QT_BEGIN_NAMESPACE
-
-MmRendererMediaPlayerService::MmRendererMediaPlayerService(QObject *parent)
- : QObject(parent),
- m_videoRendererControl(0),
- m_videoWindowControl(0),
- m_mediaPlayerControl(0),
- m_appHasDrmPermission(false),
- m_appHasDrmPermissionChecked(false)
-{
-}
-
-MmRendererMediaPlayerService::~MmRendererMediaPlayerService()
-{
- // Someone should have called releaseControl(), but better be safe
- delete m_videoRendererControl;
- delete m_videoWindowControl;
- delete m_mediaPlayerControl;
-}
-
-void MmRendererMediaPlayerService::updateControls()
-{
- if (m_videoRendererControl && m_mediaPlayerControl)
- m_mediaPlayerControl->setVideoRendererControl(m_videoRendererControl);
-
- if (m_videoWindowControl && m_mediaPlayerControl)
- m_mediaPlayerControl->setVideoWindowControl(m_videoWindowControl);
-}
-
-QPlatformMediaPlayer *MmRendererMediaPlayerService::player()
-{
- if (!m_mediaPlayerControl) {
- m_mediaPlayerControl = new MmrEventMediaPlayerControl;
- updateControls();
- }
- return m_mediaPlayerControl;
-}
-
-QVideoRendererControl *MmRendererMediaPlayerService::createVideoRenderer()
-{
- if (!m_appHasDrmPermissionChecked) {
- m_appHasDrmPermission = checkForDrmPermission();
- m_appHasDrmPermissionChecked = true;
- }
-
- if (m_appHasDrmPermission) {
- // When the application wants to play back DRM secured media, we can't use
- // the QVideoRendererControl, because we won't have access to the pixel data
- // in this case.
- return nullptr;
- }
-
- if (!m_videoRendererControl) {
- m_videoRendererControl = new MmRendererPlayerVideoRendererControl();
- updateControls();
- }
- return m_videoRendererControl;
-}
-
-QVideoWindowControl *MmRendererMediaPlayerService::createVideoWindow()
-{
- if (!m_videoWindowControl) {
- m_videoWindowControl = new MmRendererVideoWindowControl();
- updateControls();
- }
- return m_videoWindowControl;
-}
-
-QT_END_NAMESPACE
diff --git a/src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayerservice_p.h b/src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayerservice_p.h
deleted file mode 100644
index c53a2f4b7..000000000
--- a/src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayerservice_p.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef MMRENDERERMEDIAPLAYERSERVICE_H
-#define MMRENDERERMEDIAPLAYERSERVICE_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <private/qplatformmediaplayerinterface_p.h>
-#include <QtCore/qpointer.h>
-
-QT_BEGIN_NAMESPACE
-
-class MmRendererMediaPlayerControl;
-class MmRendererPlayerVideoRendererControl;
-class MmRendererVideoWindowControl;
-
-class MmRendererMediaPlayerService : public QPlatformMediaPlayerInterface
-{
- Q_OBJECT
-public:
- explicit MmRendererMediaPlayerService(QObject *parent = 0);
- ~MmRendererMediaPlayerService();
-
- // QPlatformMediaPlayerInterface
- QPlatformMediaPlayer *player() override;
-// QMediaStreamsControl *streams() override;
-
- QVideoRendererControl *createVideoRenderer() override;
- QVideoWindowControl *createVideoWindow() override;;
-
-private:
- void updateControls();
-
- // QPointer<MmRendererPlayerVideoRendererControl> m_videoRendererControl;
- // QPointer<MmRendererVideoWindowControl> m_videoWindowControl;
- // QPointer<MmRendererMediaPlayerControl> m_mediaPlayerControl;
-
- MmRendererPlayerVideoRendererControl *m_videoRendererControl;
- MmRendererVideoWindowControl *m_videoWindowControl;
- MmRendererMediaPlayerControl *m_mediaPlayerControl;
-
- bool m_appHasDrmPermission : 1;
- bool m_appHasDrmPermissionChecked : 1;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/multimedia/platform/qnx/mediaplayer/mmrendererplayervideorenderercontrol_p.h b/src/multimedia/platform/qnx/mediaplayer/mmrendererplayervideorenderercontrol_p.h
index 98a5304f3..ac5fd08f1 100644
--- a/src/multimedia/platform/qnx/mediaplayer/mmrendererplayervideorenderercontrol_p.h
+++ b/src/multimedia/platform/qnx/mediaplayer/mmrendererplayervideorenderercontrol_p.h
@@ -52,7 +52,7 @@
#include <QPointer>
#include <qabstractvideosurface.h>
-#include <qvideorenderercontrol.h>
+#include <qobject.h>
typedef struct mmr_context mmr_context_t;
@@ -60,7 +60,7 @@ QT_BEGIN_NAMESPACE
class WindowGrabber;
-class MmRendererPlayerVideoRendererControl : public QVideoRendererControl
+class MmRendererPlayerVideoRendererControl : public QObject
{
Q_OBJECT
public:
diff --git a/src/multimedia/platform/qnx/qqnxintegration.cpp b/src/multimedia/platform/qnx/qqnxintegration.cpp
index 78c3bd62f..3e23fbbfa 100644
--- a/src/multimedia/platform/qnx/qqnxintegration.cpp
+++ b/src/multimedia/platform/qnx/qqnxintegration.cpp
@@ -39,7 +39,8 @@
#include "qqnxintegration_p.h"
#include "qqnxdevicemanager_p.h"
-#include "private/mmrenderermediaplayerservice_p.h"
+#include "private/mmrenderermediaplayercontrol_p.h"
+#include "private/mmrendererutil_p.h"
QT_BEGIN_NAMESPACE
@@ -60,9 +61,9 @@ QMediaPlatformDeviceManager *QQnxIntegration::deviceManager()
return m_manager;
}
-QMediaPlatformPlayerInterface *QQnxIntegration::createPlayerInterface()
+QPlatformMediaPlayer *QQnxIntegration::createPlayer()
{
- return new MmRendererMediaPlayerService();
+ return new MmRendererMediaPlayerControl();
}
QT_END_NAMESPACE
diff --git a/src/multimedia/platform/qnx/qqnxintegration_p.h b/src/multimedia/platform/qnx/qqnxintegration_p.h
index 3770f5d03..a3586bd47 100644
--- a/src/multimedia/platform/qnx/qqnxintegration_p.h
+++ b/src/multimedia/platform/qnx/qqnxintegration_p.h
@@ -66,7 +66,7 @@ public:
QPlatformMediaDeviceManager *deviceManager() override;
- QPlatformMediaPlayerInterface *createPlayerInterface() override;
+ QPlatformMediaPlayer *createPlayer() override;
QQnxDeviceManager *m_manager = nullptr;
};
diff --git a/src/multimedia/platform/qplatformmediaintegration_p.h b/src/multimedia/platform/qplatformmediaintegration_p.h
index cf21da5ae..2b3ce9090 100644
--- a/src/multimedia/platform/qplatformmediaintegration_p.h
+++ b/src/multimedia/platform/qplatformmediaintegration_p.h
@@ -61,7 +61,7 @@ class QPlatformMediaCapture;
class QPlatformMediaPlayer;
class QAudioDecoderControl;
class QPlatformMediaFormatInfo;
-class QVideoRendererControl;
+class QObject;
class Q_MULTIMEDIA_EXPORT QPlatformMediaIntegration
{
diff --git a/src/multimedia/platform/windows/player/mfvideorenderercontrol_p.h b/src/multimedia/platform/windows/player/mfvideorenderercontrol_p.h
index dd8a6a278..db5148c91 100644
--- a/src/multimedia/platform/windows/player/mfvideorenderercontrol_p.h
+++ b/src/multimedia/platform/windows/player/mfvideorenderercontrol_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include "qvideorenderercontrol.h"
+#include "qobject.h"
#include <mfapi.h>
#include <mfidl.h>
@@ -59,7 +59,7 @@ QT_USE_NAMESPACE
class EVRCustomPresenterActivate;
-class MFVideoRendererControl : public QVideoRendererControl
+class MFVideoRendererControl : public QObject
{
Q_OBJECT
public:
diff --git a/src/multimediawidgets/qgraphicsvideoitem.cpp b/src/multimediawidgets/qgraphicsvideoitem.cpp
index 81c9de716..711bf5836 100644
--- a/src/multimediawidgets/qgraphicsvideoitem.cpp
+++ b/src/multimediawidgets/qgraphicsvideoitem.cpp
@@ -40,7 +40,7 @@
#include "qgraphicsvideoitem.h"
#include "qpaintervideosurface_p.h"
-#include <qvideorenderercontrol.h>
+#include <qobject.h>
#include <qvideosurfaceformat.h>
#include <QtCore/qcoreevent.h>
diff --git a/src/multimediawidgets/qvideowidget.cpp b/src/multimediawidgets/qvideowidget.cpp
index 2a5bbca4a..7c52ea5d6 100644
--- a/src/multimediawidgets/qvideowidget.cpp
+++ b/src/multimediawidgets/qvideowidget.cpp
@@ -45,7 +45,7 @@
#include <QtMultimedia/qtmultimediaglobal.h>
#include <qvideowindowcontrol.h>
-#include <qvideorenderercontrol.h>
+#include <qobject.h>
#include <qvideosurfaceformat.h>
#include <qpainter.h>
diff --git a/src/multimediawidgets/qvideowidget_p.h b/src/multimediawidgets/qvideowidget_p.h
index b3b0fe89e..888465fe3 100644
--- a/src/multimediawidgets/qvideowidget_p.h
+++ b/src/multimediawidgets/qvideowidget_p.h
@@ -64,7 +64,7 @@
QT_BEGIN_NAMESPACE
-class QVideoRendererControl;
+class QObject;
class QRendererVideoWidgetBackend : public QObject
{
@@ -110,7 +110,7 @@ private Q_SLOTS:
private:
void updateRects();
- QVideoRendererControl *m_rendererControl;
+ QObject *m_rendererControl;
QWidget *m_widget;
QPainterVideoSurface *m_surface;
Qt::AspectRatioMode m_aspectRatioMode;
diff --git a/src/qtmultimediaquicktools/qdeclarativevideooutput.cpp b/src/qtmultimediaquicktools/qdeclarativevideooutput.cpp
index 68515af95..562831a45 100644
--- a/src/qtmultimediaquicktools/qdeclarativevideooutput.cpp
+++ b/src/qtmultimediaquicktools/qdeclarativevideooutput.cpp
@@ -90,7 +90,7 @@ Q_LOGGING_CATEGORY(qLcVideo, "qt.multimedia.video")
For a description of stretched uniformly scaled presentation, see the \l fillMode property
description.
- The VideoOutput item works with backends that support either QVideoRendererControl or
+ The VideoOutput item works with backends that support either QObject or
QVideoWindowControl. If the backend only supports QVideoWindowControl, the video is rendered
onto an overlay window that is layered on top of the QtQuick window. Due to the nature of the
video overlays, certain features are not available for these kind of backends:
@@ -98,7 +98,7 @@ Q_LOGGING_CATEGORY(qLcVideo, "qt.multimedia.video")
\li Some transformations like rotations
\li Having other QtQuick items on top of the VideoOutput item
\endlist
- Most backends however do support QVideoRendererControl and therefore don't have the limitations
+ Most backends however do support QObject and therefore don't have the limitations
listed above.
\sa MediaPlayer, Camera
diff --git a/src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp b/src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp
index e265f85a4..321abd3ec 100644
--- a/src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp
+++ b/src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp
@@ -41,7 +41,7 @@
#include "qdeclarativevideooutput_render_p.h"
#include "qdeclarativevideooutput_p.h"
#include <QtMultimedia/qabstractvideofilter.h>
-#include <QtMultimedia/qvideorenderercontrol.h>
+#include <QtCore/qobject.h>
#include <QtCore/qloggingcategory.h>
#include <private/qmediapluginloader_p.h>
#include <private/qsgvideonode_p.h>
diff --git a/src/qtmultimediaquicktools/qdeclarativevideooutput_render_p.h b/src/qtmultimediaquicktools/qdeclarativevideooutput_render_p.h
index 739177800..893bc14c7 100644
--- a/src/qtmultimediaquicktools/qdeclarativevideooutput_render_p.h
+++ b/src/qtmultimediaquicktools/qdeclarativevideooutput_render_p.h
@@ -64,7 +64,7 @@
QT_BEGIN_NAMESPACE
class QSGVideoItemSurface;
-class QVideoRendererControl;
+class QObject;
class QOpenGLContext;
class QAbstractVideoFilter;
class QVideoFilterRunnable;
diff --git a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp
index 170c25c5b..1b3e26ee3 100644
--- a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp
+++ b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp
@@ -41,7 +41,7 @@
#include <qcamera.h>
#include <qcamerainfo.h>
#include <qcameraimagecapture.h>
-#include <qvideorenderercontrol.h>
+#include <qobject.h>
#include <qmediadevicemanager.h>
#include <qmediarecorder.h>
diff --git a/tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp b/tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp
index 9350be709..9e65a8c14 100644
--- a/tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp
+++ b/tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp
@@ -37,7 +37,7 @@
#include "private/qdeclarativevideooutput_p.h"
#include <qabstractvideosurface.h>
-#include <qvideorenderercontrol.h>
+#include <qobject.h>
#include <qvideosurfaceformat.h>
class SurfaceHolder : public QObject
diff --git a/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp b/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp
index e7fc614d3..5634a89d1 100644
--- a/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp
+++ b/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp
@@ -40,7 +40,7 @@
#include <qcamera.h>
#include <qcamerainfo.h>
#include <qcameraimagecapture.h>
-#include <qvideorenderercontrol.h>
+#include <qobject.h>
#include <qmediadevicemanager.h>
#include "mockvideosurface.h"
diff --git a/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp b/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp
index 4c9ea8dc0..b44e0335e 100644
--- a/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp
+++ b/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp
@@ -38,7 +38,7 @@
#include <private/qplatformmediaplayer_p.h>
#include <qmediaplaylist.h>
#include <qmediastreamscontrol.h>
-#include <qvideorenderercontrol.h>
+#include <qobject.h>
#include "qmockintegration_p.h"
#include "mockmediaplayer.h"
diff --git a/tests/auto/unit/multimediawidgets/qcamerawidgets/tst_qcamerawidgets.cpp b/tests/auto/unit/multimediawidgets/qcamerawidgets/tst_qcamerawidgets.cpp
index c14121dff..0fa8f790b 100644
--- a/tests/auto/unit/multimediawidgets/qcamerawidgets/tst_qcamerawidgets.cpp
+++ b/tests/auto/unit/multimediawidgets/qcamerawidgets/tst_qcamerawidgets.cpp
@@ -40,7 +40,7 @@
#include <qcamera.h>
#include <qcameraimagecapture.h>
#include <qgraphicsvideoitem.h>
-#include <qvideorenderercontrol.h>
+#include <qobject.h>
#include <qvideowidget.h>
#include <qvideowindowcontrol.h>