summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-09-11 18:48:35 +0200
committerLiang Qi <liang.qi@qt.io>2019-09-12 08:50:30 +0000
commit38e49d060d13ef592f457a5d6640d68a2d9c6b06 (patch)
treeb6fccceb55f338a8c53e31afb88a4fce965d305b
parentc9058d90d0b08781f14a494780c3094594c81f22 (diff)
parent324471ef9054911422f8f2d40a243c67b501c8f0 (diff)
Merge "Merge remote-tracking branch 'origin/5.13' into 5.14"
-rw-r--r--dist/changes-5.12.535
-rw-r--r--dist/changes-5.13.146
-rw-r--r--src/gsttools/qgstappsrc.cpp10
-rw-r--r--src/gsttools/qgstappsrc_p.h18
-rw-r--r--src/gsttools/qgstreamerbufferprobe.cpp8
-rw-r--r--src/gsttools/qgstreamerbufferprobe_p.h6
-rw-r--r--src/gsttools/qgstreamerbushelper_p.h2
-rw-r--r--src/gsttools/qgstreamermessage.cpp6
-rw-r--r--src/gsttools/qgstreamermessage_p.h4
-rw-r--r--src/gsttools/qgstreamerplayercontrol.cpp7
-rw-r--r--src/gsttools/qgstreamerplayercontrol_p.h18
-rw-r--r--src/gsttools/qgstreamerplayersession.cpp34
-rw-r--r--src/gsttools/qgstreamerplayersession_p.h68
-rw-r--r--src/gsttools/qgstreamervideoinputdevicecontrol.cpp5
-rw-r--r--src/gsttools/qgstreamervideoinputdevicecontrol_p.h4
-rw-r--r--src/gsttools/qgstreamervideoprobecontrol.cpp2
-rw-r--r--src/gsttools/qgstreamervideoprobecontrol_p.h6
-rw-r--r--src/gsttools/qgstreamervideowidget.cpp4
-rw-r--r--src/gsttools/qgstreamervideowidget_p.h8
-rw-r--r--src/gsttools/qgstreamervideowindow.cpp3
-rw-r--r--src/gsttools/qgstreamervideowindow_p.h6
-rw-r--r--src/gsttools/qgstvideobuffer.cpp2
-rw-r--r--src/gsttools/qgstvideobuffer_p.h6
-rw-r--r--src/gsttools/qgstvideorenderersink.cpp10
-rw-r--r--src/gsttools/qgstvideorenderersink_p.h24
-rw-r--r--src/gsttools/qvideosurfacegstsink.cpp4
-rw-r--r--src/gsttools/qvideosurfacegstsink_p.h18
-rw-r--r--src/multimedia/audio/qaudiodecoder.cpp2
-rw-r--r--src/multimedia/camera/qcameraexposure.cpp3
-rw-r--r--src/multimedia/camera/qcamerafocus.cpp2
-rw-r--r--src/multimedia/camera/qcameraimagecapture.cpp3
-rw-r--r--src/multimedia/controls/qaudiodecodercontrol.cpp2
-rw-r--r--src/multimedia/controls/qaudioencodersettingscontrol.cpp2
-rw-r--r--src/multimedia/controls/qaudioinputselectorcontrol.cpp2
-rw-r--r--src/multimedia/controls/qaudiooutputselectorcontrol.cpp2
-rw-r--r--src/multimedia/controls/qaudiorolecontrol.cpp2
-rw-r--r--src/multimedia/controls/qcameracapturebufferformatcontrol.cpp2
-rw-r--r--src/multimedia/controls/qcameracapturedestinationcontrol.cpp2
-rw-r--r--src/multimedia/controls/qcameracontrol.cpp3
-rw-r--r--src/multimedia/controls/qcameraexposurecontrol.cpp3
-rw-r--r--src/multimedia/controls/qcameraflashcontrol.cpp2
-rw-r--r--src/multimedia/controls/qcamerafocuscontrol.cpp2
-rw-r--r--src/multimedia/controls/qcameraimagecapturecontrol.cpp2
-rw-r--r--src/multimedia/controls/qcameraimageprocessingcontrol.cpp2
-rw-r--r--src/multimedia/controls/qcamerainfocontrol.cpp4
-rw-r--r--src/multimedia/controls/qcameraviewfindersettingscontrol.cpp2
-rw-r--r--src/multimedia/controls/qcamerazoomcontrol.cpp2
-rw-r--r--src/multimedia/controls/qcustomaudiorolecontrol.cpp3
-rw-r--r--src/multimedia/controls/qimageencodercontrol.cpp2
-rw-r--r--src/multimedia/controls/qmediaaudioprobecontrol.cpp4
-rw-r--r--src/multimedia/controls/qmediaavailabilitycontrol.cpp3
-rw-r--r--src/multimedia/controls/qmediacontainercontrol.cpp2
-rw-r--r--src/multimedia/controls/qmedianetworkaccesscontrol.cpp3
-rw-r--r--src/multimedia/controls/qmediaplayercontrol.cpp2
-rw-r--r--src/multimedia/controls/qmediaplaylistcontrol.cpp2
-rw-r--r--src/multimedia/controls/qmediaplaylistsourcecontrol.cpp2
-rw-r--r--src/multimedia/controls/qmediarecordercontrol.cpp2
-rw-r--r--src/multimedia/controls/qmediastreamscontrol.cpp2
-rw-r--r--src/multimedia/controls/qmediavideoprobecontrol.cpp4
-rw-r--r--src/multimedia/controls/qmetadatareadercontrol.cpp2
-rw-r--r--src/multimedia/controls/qmetadatawritercontrol.cpp2
-rw-r--r--src/multimedia/controls/qradiodatacontrol.cpp2
-rw-r--r--src/multimedia/controls/qvideodeviceselectorcontrol.cpp2
-rw-r--r--src/multimedia/controls/qvideoencodersettingscontrol.cpp2
-rw-r--r--src/multimedia/controls/qvideorenderercontrol.cpp2
-rw-r--r--src/multimedia/controls/qvideowindowcontrol.cpp2
-rw-r--r--src/multimedia/playback/qmedianetworkplaylistprovider.cpp3
-rw-r--r--src/multimedia/playback/qmediaplayer.cpp2
-rw-r--r--src/multimedia/playback/qmediaplaylist.cpp4
-rw-r--r--src/multimedia/playback/qmediaplaylistioplugin.cpp2
-rw-r--r--src/multimedia/playback/qmediaplaylistnavigator.cpp2
-rw-r--r--src/multimedia/playback/qmediaplaylistprovider.cpp2
-rw-r--r--src/multimedia/qmediacontrol.cpp2
-rw-r--r--src/multimedia/qmediaobject.cpp3
-rw-r--r--src/multimedia/qmediaservice.cpp3
-rw-r--r--src/multimedia/qmediaserviceprovider.cpp4
-rw-r--r--src/multimedia/radio/qradiodata.cpp2
-rw-r--r--src/multimedia/radio/qradiotuner.cpp2
-rw-r--r--src/multimedia/recording/qaudiorecorder.cpp4
-rw-r--r--src/multimedia/recording/qmediarecorder.cpp2
-rw-r--r--src/multimediawidgets/qgraphicsvideoitem.cpp3
-rw-r--r--src/multimediawidgets/qpaintervideosurface.cpp3
-rw-r--r--src/multimediawidgets/qvideowidget.cpp4
-rw-r--r--src/multimediawidgets/qvideowidgetcontrol.cpp2
-rw-r--r--src/plugins/common/evr/evrcustompresenter.cpp17
-rw-r--r--src/plugins/common/evr/evrcustompresenter.h4
-rw-r--r--src/plugins/common/evr/evrd3dpresentengine.cpp11
-rw-r--r--src/plugins/directshow/common/directshowutils.cpp13
-rw-r--r--src/plugins/directshow/common/directshowutils.h4
-rw-r--r--src/plugins/directshow/dsserviceplugin.cpp32
-rw-r--r--src/plugins/directshow/player/directshowplayerservice.cpp5
-rw-r--r--src/plugins/directshow/player/directshowvideorenderercontrol.cpp1
-rw-r--r--src/plugins/directshow/player/directshowvideorenderercontrol.h1
-rw-r--r--src/plugins/gstreamer/camerabin/camerabinv4limageprocessing.cpp7
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstreameravailabilitycontrol.h2
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstreamermetadataprovider.h2
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp13
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.h24
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstreamerstreamscontrol.h2
-rw-r--r--src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp4
100 files changed, 337 insertions, 309 deletions
diff --git a/dist/changes-5.12.5 b/dist/changes-5.12.5
new file mode 100644
index 000000000..34cf7eed4
--- /dev/null
+++ b/dist/changes-5.12.5
@@ -0,0 +1,35 @@
+Qt 5.12.5 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.12.0 through 5.12.4.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.12 series is binary compatible with the 5.11.x series.
+Applications compiled for 5.11 will continue to run with 5.12.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+ - This release contains only minor code improvements.
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+- GStreamer:
+ * Added "audio/x-raw" codec to use "audio/x-wav" container in QAudioRecorder.
+ * Fixed bug where a player, without its own video surface, would end up using
+ another players video surface.
+ * [QTBUG-65399] Added fix to prevent seeking to the beginning when playback
+ is started.
+
+- AVFoundation:
+ * [QTBUG-77270] Added fix to avoid showing black frames when the current
+ OpenGL context changes.
diff --git a/dist/changes-5.13.1 b/dist/changes-5.13.1
new file mode 100644
index 000000000..5167a49b8
--- /dev/null
+++ b/dist/changes-5.13.1
@@ -0,0 +1,46 @@
+Qt 5.13.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.13.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.13 series is binary compatible with the 5.12.x series.
+Applications compiled for 5.12 will continue to run with 5.13.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* Qt 5.13.1 Changes *
+****************************************************************************
+
+- [QTBUG-76090] Fixed crash when an app is destroyed before QSample::load finishes.
+- [QTBUG-76205] Added fix to only update the VideoOutput's geometry when the surface is active.
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+ - DirectShow:
+ * [QTBUG-65574] Added error when attempting to play a video without a video output set.
+ * [QTBUG-65574] Added fix to prevent the same media content from being set twice.
+ * [QTBUG-65574] Returns QMediaPlayer::NoMedia if an empty url is provided.
+ * [QTBUG-75959] Mapped MEDIASUBTYPE_RGB24 to QVideoFrame::Format_BGR24.
+ * [QTBUG-70655] Fixed build issues with newer MinGW versions.
+ * Fixed memory leak introduced by using GetFrameRateList.
+
+ - AVFoundation:
+ * [QTBUG-75287] QMediaRecorder will now only send state changes when the state actually changes.
+
+ - GStreamer:
+ * [QTBUG-76236] Now busy cameras are also returned in availableCameras.
+ * Fixed a crash when the bus helper is destroyed but is still receiving events.
+ * GstUDPSrc caps can now be passed via the url's query item.
+ * Added implementation for fetching audio/video codecs by container and vice versa.
diff --git a/src/gsttools/qgstappsrc.cpp b/src/gsttools/qgstappsrc.cpp
index 2d312862d..d5c44ec08 100644
--- a/src/gsttools/qgstappsrc.cpp
+++ b/src/gsttools/qgstappsrc.cpp
@@ -42,15 +42,7 @@
#include "qgstappsrc_p.h"
QGstAppSrc::QGstAppSrc(QObject *parent)
- :QObject(parent)
- ,m_stream(0)
- ,m_appSrc(0)
- ,m_sequential(false)
- ,m_maxBytes(0)
- ,m_dataRequestSize(~0)
- ,m_dataRequested(false)
- ,m_enoughData(false)
- ,m_forceData(false)
+ : QObject(parent)
{
m_callbacks.need_data = &QGstAppSrc::on_need_data;
m_callbacks.enough_data = &QGstAppSrc::on_enough_data;
diff --git a/src/gsttools/qgstappsrc_p.h b/src/gsttools/qgstappsrc_p.h
index c7e87037d..c1c8cdabe 100644
--- a/src/gsttools/qgstappsrc_p.h
+++ b/src/gsttools/qgstappsrc_p.h
@@ -104,16 +104,16 @@ private:
void sendEOS();
- QIODevice *m_stream;
- GstAppSrc *m_appSrc;
- bool m_sequential;
- GstAppStreamType m_streamType;
+ QIODevice *m_stream = nullptr;
+ GstAppSrc *m_appSrc = nullptr;
+ bool m_sequential = false;
+ GstAppStreamType m_streamType = GST_APP_STREAM_TYPE_RANDOM_ACCESS;
GstAppSrcCallbacks m_callbacks;
- qint64 m_maxBytes;
- unsigned int m_dataRequestSize;
- bool m_dataRequested;
- bool m_enoughData;
- bool m_forceData;
+ qint64 m_maxBytes = 0;
+ unsigned int m_dataRequestSize = ~0;
+ bool m_dataRequested = false;
+ bool m_enoughData = false;
+ bool m_forceData = false;
};
QT_END_NAMESPACE
diff --git a/src/gsttools/qgstreamerbufferprobe.cpp b/src/gsttools/qgstreamerbufferprobe.cpp
index f420290ce..d95de4c63 100644
--- a/src/gsttools/qgstreamerbufferprobe.cpp
+++ b/src/gsttools/qgstreamerbufferprobe.cpp
@@ -43,13 +43,7 @@
QT_BEGIN_NAMESPACE
QGstreamerBufferProbe::QGstreamerBufferProbe(Flags flags)
-#if GST_CHECK_VERSION(1,0,0)
- : m_capsProbeId(-1)
-#else
- : m_caps(0)
-#endif
- , m_bufferProbeId(-1)
- , m_flags(flags)
+ : m_flags(flags)
{
}
diff --git a/src/gsttools/qgstreamerbufferprobe_p.h b/src/gsttools/qgstreamerbufferprobe_p.h
index 35644f934..2dda73e40 100644
--- a/src/gsttools/qgstreamerbufferprobe_p.h
+++ b/src/gsttools/qgstreamerbufferprobe_p.h
@@ -83,12 +83,12 @@ private:
#if GST_CHECK_VERSION(1,0,0)
static GstPadProbeReturn capsProbe(GstPad *pad, GstPadProbeInfo *info, gpointer user_data);
static GstPadProbeReturn bufferProbe(GstPad *pad, GstPadProbeInfo *info, gpointer user_data);
- int m_capsProbeId;
+ int m_capsProbeId = -1;
#else
static gboolean bufferProbe(GstElement *element, GstBuffer *buffer, gpointer user_data);
- GstCaps *m_caps;
+ GstCaps *m_caps = nullptr;
#endif
- int m_bufferProbeId;
+ int m_bufferProbeId = -1;
const Flags m_flags;
};
diff --git a/src/gsttools/qgstreamerbushelper_p.h b/src/gsttools/qgstreamerbushelper_p.h
index c7d06faf8..e784f6e41 100644
--- a/src/gsttools/qgstreamerbushelper_p.h
+++ b/src/gsttools/qgstreamerbushelper_p.h
@@ -96,7 +96,7 @@ signals:
void message(QGstreamerMessage const& message);
private:
- QGstreamerBusHelperPrivate* d;
+ QGstreamerBusHelperPrivate *d = nullptr;
};
QT_END_NAMESPACE
diff --git a/src/gsttools/qgstreamermessage.cpp b/src/gsttools/qgstreamermessage.cpp
index 6855c285c..7191565e1 100644
--- a/src/gsttools/qgstreamermessage.cpp
+++ b/src/gsttools/qgstreamermessage.cpp
@@ -51,12 +51,6 @@ static int wuchi = qRegisterMetaType<QGstreamerMessage>();
\internal
*/
-QGstreamerMessage::QGstreamerMessage():
- m_message(0)
-{
- Q_UNUSED(wuchi);
-}
-
QGstreamerMessage::QGstreamerMessage(GstMessage* message):
m_message(message)
{
diff --git a/src/gsttools/qgstreamermessage_p.h b/src/gsttools/qgstreamermessage_p.h
index 2f9d1745c..baeecc360 100644
--- a/src/gsttools/qgstreamermessage_p.h
+++ b/src/gsttools/qgstreamermessage_p.h
@@ -64,7 +64,7 @@ class QString;
class Q_GSTTOOLS_EXPORT QGstreamerMessage
{
public:
- QGstreamerMessage();
+ QGstreamerMessage() = default;
QGstreamerMessage(GstMessage* message);
QGstreamerMessage(QGstreamerMessage const& m);
~QGstreamerMessage();
@@ -74,7 +74,7 @@ public:
QGstreamerMessage& operator=(QGstreamerMessage const& rhs);
private:
- GstMessage* m_message;
+ GstMessage* m_message = nullptr;
};
QT_END_NAMESPACE
diff --git a/src/gsttools/qgstreamerplayercontrol.cpp b/src/gsttools/qgstreamerplayercontrol.cpp
index 5075b098a..b49ec479f 100644
--- a/src/gsttools/qgstreamerplayercontrol.cpp
+++ b/src/gsttools/qgstreamerplayercontrol.cpp
@@ -60,13 +60,6 @@ QT_BEGIN_NAMESPACE
QGstreamerPlayerControl::QGstreamerPlayerControl(QGstreamerPlayerSession *session, QObject *parent)
: QMediaPlayerControl(parent)
, m_session(session)
- , m_userRequestedState(QMediaPlayer::StoppedState)
- , m_currentState(QMediaPlayer::StoppedState)
- , m_mediaStatus(QMediaPlayer::NoMedia)
- , m_bufferProgress(-1)
- , m_pendingSeekPosition(-1)
- , m_setMediaPending(false)
- , m_stream(0)
{
m_resources = QMediaResourcePolicy::createResourceSet<QMediaPlayerResourceSetInterface>();
Q_ASSERT(m_resources);
diff --git a/src/gsttools/qgstreamerplayercontrol_p.h b/src/gsttools/qgstreamerplayercontrol_p.h
index e2252ea52..ef94df925 100644
--- a/src/gsttools/qgstreamerplayercontrol_p.h
+++ b/src/gsttools/qgstreamerplayercontrol_p.h
@@ -124,20 +124,20 @@ private:
void pushState();
void popAndNotifyState();
- QGstreamerPlayerSession *m_session;
- QMediaPlayer::State m_userRequestedState;
- QMediaPlayer::State m_currentState;
- QMediaPlayer::MediaStatus m_mediaStatus;
+ QGstreamerPlayerSession *m_session = nullptr;
+ QMediaPlayer::State m_userRequestedState = QMediaPlayer::StoppedState;
+ QMediaPlayer::State m_currentState = QMediaPlayer::StoppedState;
+ QMediaPlayer::MediaStatus m_mediaStatus = QMediaPlayer::NoMedia;
QStack<QMediaPlayer::State> m_stateStack;
QStack<QMediaPlayer::MediaStatus> m_mediaStatusStack;
- int m_bufferProgress;
- qint64 m_pendingSeekPosition;
- bool m_setMediaPending;
+ int m_bufferProgress = -1;
+ qint64 m_pendingSeekPosition = -1;
+ bool m_setMediaPending = false;
QMediaContent m_currentResource;
- QIODevice *m_stream;
+ QIODevice *m_stream = nullptr;
- QMediaPlayerResourceSetInterface *m_resources;
+ QMediaPlayerResourceSetInterface *m_resources = nullptr;
};
QT_END_NAMESPACE
diff --git a/src/gsttools/qgstreamerplayersession.cpp b/src/gsttools/qgstreamerplayersession.cpp
index 0e4fd2179..c83aaeb15 100644
--- a/src/gsttools/qgstreamerplayersession.cpp
+++ b/src/gsttools/qgstreamerplayersession.cpp
@@ -111,39 +111,7 @@ static GstStaticCaps static_RawCaps = GST_STATIC_CAPS(DEFAULT_RAW_CAPS);
#endif
QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
- :QObject(parent),
- m_state(QMediaPlayer::StoppedState),
- m_pendingState(QMediaPlayer::StoppedState),
- m_busHelper(0),
- m_videoSink(0),
-#if !GST_CHECK_VERSION(1,0,0)
- m_usingColorspaceElement(false),
-#endif
- m_pendingVideoSink(0),
- m_nullVideoSink(0),
- m_audioSink(0),
- m_volumeElement(0),
- m_bus(0),
- m_videoOutput(0),
- m_renderer(0),
-#if QT_CONFIG(gstreamer_app)
- m_appSrc(0),
-#endif
- m_videoProbe(0),
- m_audioProbe(0),
- m_volume(100),
- m_playbackRate(1.0),
- m_muted(false),
- m_audioAvailable(false),
- m_videoAvailable(false),
- m_seekable(false),
- m_lastPosition(0),
- m_duration(0),
- m_durationQueries(0),
- m_displayPrerolledFrame(true),
- m_sourceType(UnknownSrc),
- m_everPlayed(false),
- m_isLiveSource(false)
+ : QObject(parent)
{
m_playbin = gst_element_factory_make(QT_GSTREAMER_PLAYBIN_ELEMENT_NAME, NULL);
if (m_playbin) {
diff --git a/src/gsttools/qgstreamerplayersession_p.h b/src/gsttools/qgstreamerplayersession_p.h
index d4b050272..69027eeb2 100644
--- a/src/gsttools/qgstreamerplayersession_p.h
+++ b/src/gsttools/qgstreamerplayersession_p.h
@@ -212,32 +212,32 @@ private:
bool setPipeline(GstElement *pipeline);
QNetworkRequest m_request;
- QMediaPlayer::State m_state;
- QMediaPlayer::State m_pendingState;
- QGstreamerBusHelper* m_busHelper;
- GstElement *m_playbin = nullptr; // Can be null
- GstElement *m_pipeline = nullptr; // Never null
+ QMediaPlayer::State m_state = QMediaPlayer::StoppedState;
+ QMediaPlayer::State m_pendingState = QMediaPlayer::StoppedState;
+ QGstreamerBusHelper *m_busHelper = nullptr;
+ GstElement *m_playbin = nullptr;
+ GstElement *m_pipeline = nullptr;
- GstElement* m_videoSink;
+ GstElement *m_videoSink = nullptr;
- GstElement* m_videoOutputBin;
- GstElement* m_videoIdentity;
+ GstElement *m_videoOutputBin = nullptr;
+ GstElement *m_videoIdentity = nullptr;
#if !GST_CHECK_VERSION(1,0,0)
- GstElement* m_colorSpace;
- bool m_usingColorspaceElement;
+ GstElement *m_colorSpace = nullptr;
+ bool m_usingColorspaceElement = false;
#endif
- GstElement* m_pendingVideoSink;
- GstElement* m_nullVideoSink;
+ GstElement *m_pendingVideoSink = nullptr;
+ GstElement *m_nullVideoSink = nullptr;
- GstElement* m_audioSink;
- GstElement* m_volumeElement;
+ GstElement *m_audioSink = nullptr;
+ GstElement *m_volumeElement = nullptr;
- GstBus* m_bus;
- QObject *m_videoOutput;
- QGstreamerVideoRendererInterface *m_renderer;
+ GstBus *m_bus = nullptr;
+ QObject *m_videoOutput = nullptr;
+ QGstreamerVideoRendererInterface *m_renderer = nullptr;
#if QT_CONFIG(gstreamer_app)
- QGstAppSrc *m_appSrc;
+ QGstAppSrc *m_appSrc = nullptr;
#endif
QMap<QByteArray, QVariant> m_tags;
@@ -245,21 +245,21 @@ private:
QList<QMediaStreamsControl::StreamType> m_streamTypes;
QMap<QMediaStreamsControl::StreamType, int> m_playbin2StreamOffset;
- QGstreamerVideoProbeControl *m_videoProbe;
- QGstreamerAudioProbeControl *m_audioProbe;
+ QGstreamerVideoProbeControl *m_videoProbe = nullptr;
+ QGstreamerAudioProbeControl *m_audioProbe = nullptr;
- int m_volume;
- qreal m_playbackRate;
- bool m_muted;
- bool m_audioAvailable;
- bool m_videoAvailable;
- bool m_seekable;
+ int m_volume = 100;
+ qreal m_playbackRate = 1.0;
+ bool m_muted = false;
+ bool m_audioAvailable = false;
+ bool m_videoAvailable = false;
+ bool m_seekable = false;
- mutable qint64 m_lastPosition;
- qint64 m_duration;
- int m_durationQueries;
+ mutable qint64 m_lastPosition = 0;
+ qint64 m_duration = 0;
+ int m_durationQueries = 0;
- bool m_displayPrerolledFrame;
+ bool m_displayPrerolledFrame = true;
enum SourceType
{
@@ -269,11 +269,11 @@ private:
MMSSrc,
RTSPSrc,
};
- SourceType m_sourceType;
- bool m_everPlayed;
- bool m_isLiveSource;
+ SourceType m_sourceType = UnknownSrc;
+ bool m_everPlayed = false;
+ bool m_isLiveSource = false;
- gulong pad_probe_id;
+ gulong pad_probe_id = 0;
};
QT_END_NAMESPACE
diff --git a/src/gsttools/qgstreamervideoinputdevicecontrol.cpp b/src/gsttools/qgstreamervideoinputdevicecontrol.cpp
index 86e6772b7..4d98afa62 100644
--- a/src/gsttools/qgstreamervideoinputdevicecontrol.cpp
+++ b/src/gsttools/qgstreamervideoinputdevicecontrol.cpp
@@ -45,13 +45,14 @@
#include <private/qgstutils_p.h>
QGstreamerVideoInputDeviceControl::QGstreamerVideoInputDeviceControl(QObject *parent)
- :QVideoDeviceSelectorControl(parent), m_factory(0), m_selectedDevice(0)
+ : QVideoDeviceSelectorControl(parent)
{
}
QGstreamerVideoInputDeviceControl::QGstreamerVideoInputDeviceControl(
GstElementFactory *factory, QObject *parent)
- : QVideoDeviceSelectorControl(parent), m_factory(factory), m_selectedDevice(0)
+ : QVideoDeviceSelectorControl(parent)
+ , m_factory(factory)
{
if (m_factory)
gst_object_ref(GST_OBJECT(m_factory));
diff --git a/src/gsttools/qgstreamervideoinputdevicecontrol_p.h b/src/gsttools/qgstreamervideoinputdevicecontrol_p.h
index b660cc7b3..9d8dffd72 100644
--- a/src/gsttools/qgstreamervideoinputdevicecontrol_p.h
+++ b/src/gsttools/qgstreamervideoinputdevicecontrol_p.h
@@ -83,9 +83,9 @@ public Q_SLOTS:
void setSelectedDevice(int index) override;
private:
- GstElementFactory *m_factory;
+ GstElementFactory *m_factory = nullptr;
- int m_selectedDevice;
+ int m_selectedDevice = 0;
};
QT_END_NAMESPACE
diff --git a/src/gsttools/qgstreamervideoprobecontrol.cpp b/src/gsttools/qgstreamervideoprobecontrol.cpp
index e18da2b4d..f9ce4e412 100644
--- a/src/gsttools/qgstreamervideoprobecontrol.cpp
+++ b/src/gsttools/qgstreamervideoprobecontrol.cpp
@@ -44,8 +44,6 @@
QGstreamerVideoProbeControl::QGstreamerVideoProbeControl(QObject *parent)
: QMediaVideoProbeControl(parent)
- , m_flushing(false)
- , m_frameProbed(false)
{
}
diff --git a/src/gsttools/qgstreamervideoprobecontrol_p.h b/src/gsttools/qgstreamervideoprobecontrol_p.h
index b15b6099c..8f2101d74 100644
--- a/src/gsttools/qgstreamervideoprobecontrol_p.h
+++ b/src/gsttools/qgstreamervideoprobecontrol_p.h
@@ -89,10 +89,10 @@ private:
#if GST_CHECK_VERSION(1,0,0)
GstVideoInfo m_videoInfo;
#else
- int m_bytesPerLine;
+ int m_bytesPerLine = 0;
#endif
- bool m_flushing;
- bool m_frameProbed; // true if at least one frame was probed
+ bool m_flushing = false;
+ bool m_frameProbed = false; // true if at least one frame was probed
};
QT_END_NAMESPACE
diff --git a/src/gsttools/qgstreamervideowidget.cpp b/src/gsttools/qgstreamervideowidget.cpp
index 288a9c9c0..164e62f86 100644
--- a/src/gsttools/qgstreamervideowidget.cpp
+++ b/src/gsttools/qgstreamervideowidget.cpp
@@ -95,10 +95,6 @@ protected:
QGstreamerVideoWidgetControl::QGstreamerVideoWidgetControl(QObject *parent, const QByteArray &elementName)
: QVideoWidgetControl(parent)
, m_videoOverlay(this, !elementName.isEmpty() ? elementName : qgetenv("QT_GSTREAMER_WIDGET_VIDEOSINK"))
- , m_widget(0)
- , m_stopped(false)
- , m_windowId(0)
- , m_fullScreen(false)
{
connect(&m_videoOverlay, &QGstreamerVideoOverlay::activeChanged,
this, &QGstreamerVideoWidgetControl::onOverlayActiveChanged);
diff --git a/src/gsttools/qgstreamervideowidget_p.h b/src/gsttools/qgstreamervideowidget_p.h
index 1ddb738df..6eec6ae52 100644
--- a/src/gsttools/qgstreamervideowidget_p.h
+++ b/src/gsttools/qgstreamervideowidget_p.h
@@ -117,10 +117,10 @@ private:
bool processBusMessage(const QGstreamerMessage &message) override;
QGstreamerVideoOverlay m_videoOverlay;
- QGstreamerVideoWidget *m_widget;
- bool m_stopped;
- WId m_windowId;
- bool m_fullScreen;
+ QGstreamerVideoWidget *m_widget = nullptr;
+ bool m_stopped = false;
+ WId m_windowId = 0;
+ bool m_fullScreen = false;
};
QT_END_NAMESPACE
diff --git a/src/gsttools/qgstreamervideowindow.cpp b/src/gsttools/qgstreamervideowindow.cpp
index f872df964..e7e3c5044 100644
--- a/src/gsttools/qgstreamervideowindow.cpp
+++ b/src/gsttools/qgstreamervideowindow.cpp
@@ -45,9 +45,6 @@
QGstreamerVideoWindow::QGstreamerVideoWindow(QObject *parent, const QByteArray &elementName)
: QVideoWindowControl(parent)
, m_videoOverlay(this, !elementName.isEmpty() ? elementName : qgetenv("QT_GSTREAMER_WINDOW_VIDEOSINK"))
- , m_windowId(0)
- , m_fullScreen(false)
- , m_colorKey(QColor::Invalid)
{
connect(&m_videoOverlay, &QGstreamerVideoOverlay::nativeVideoSizeChanged,
this, &QGstreamerVideoWindow::nativeSizeChanged);
diff --git a/src/gsttools/qgstreamervideowindow_p.h b/src/gsttools/qgstreamervideowindow_p.h
index 5f893f10e..a0ed8599b 100644
--- a/src/gsttools/qgstreamervideowindow_p.h
+++ b/src/gsttools/qgstreamervideowindow_p.h
@@ -116,10 +116,10 @@ signals:
private:
QGstreamerVideoOverlay m_videoOverlay;
- WId m_windowId;
+ WId m_windowId = 0;
QRect m_displayRect;
- bool m_fullScreen;
- mutable QColor m_colorKey;
+ bool m_fullScreen = false;
+ mutable QColor m_colorKey = QColor::Invalid;
};
QT_END_NAMESPACE
diff --git a/src/gsttools/qgstvideobuffer.cpp b/src/gsttools/qgstvideobuffer.cpp
index e174ab75d..245b7e024 100644
--- a/src/gsttools/qgstvideobuffer.cpp
+++ b/src/gsttools/qgstvideobuffer.cpp
@@ -51,7 +51,6 @@ QGstVideoBuffer::QGstVideoBuffer(GstBuffer *buffer, int bytesPerLine)
, m_bytesPerLine(bytesPerLine)
#endif
, m_buffer(buffer)
- , m_mode(NotMapped)
{
gst_buffer_ref(m_buffer);
}
@@ -70,7 +69,6 @@ QGstVideoBuffer::QGstVideoBuffer(GstBuffer *buffer, int bytesPerLine,
, m_bytesPerLine(bytesPerLine)
#endif
, m_buffer(buffer)
- , m_mode(NotMapped)
, m_handle(handle)
{
gst_buffer_ref(m_buffer);
diff --git a/src/gsttools/qgstvideobuffer_p.h b/src/gsttools/qgstvideobuffer_p.h
index 6681070da..b7de17e19 100644
--- a/src/gsttools/qgstvideobuffer_p.h
+++ b/src/gsttools/qgstvideobuffer_p.h
@@ -95,10 +95,10 @@ private:
GstVideoInfo m_videoInfo;
GstVideoFrame m_frame;
#else
- int m_bytesPerLine;
+ int m_bytesPerLine = 0;
#endif
- GstBuffer *m_buffer;
- MapMode m_mode;
+ GstBuffer *m_buffer = nullptr;
+ MapMode m_mode = NotMapped;
QVariant m_handle;
};
diff --git a/src/gsttools/qgstvideorenderersink.cpp b/src/gsttools/qgstvideorenderersink.cpp
index adcc9a6ce..3b458a978 100644
--- a/src/gsttools/qgstvideorenderersink.cpp
+++ b/src/gsttools/qgstvideorenderersink.cpp
@@ -78,8 +78,6 @@
QT_BEGIN_NAMESPACE
QGstDefaultVideoRenderer::QGstDefaultVideoRenderer()
- : m_flushed(true)
- , m_handleType(QAbstractVideoBuffer::NoHandle)
{
}
@@ -169,14 +167,6 @@ Q_GLOBAL_STATIC_WITH_ARGS(QMediaPluginLoader, rendererLoader,
QVideoSurfaceGstDelegate::QVideoSurfaceGstDelegate(QAbstractVideoSurface *surface)
: m_surface(surface)
- , m_renderer(0)
- , m_activeRenderer(0)
- , m_surfaceCaps(0)
- , m_startCaps(0)
- , m_renderBuffer(0)
- , m_notified(false)
- , m_stop(false)
- , m_flush(false)
{
const auto instances = rendererLoader()->instances(QGstVideoRendererPluginKey);
for (QObject *instance : instances) {
diff --git a/src/gsttools/qgstvideorenderersink_p.h b/src/gsttools/qgstvideorenderersink_p.h
index 38854291a..84162814c 100644
--- a/src/gsttools/qgstvideorenderersink_p.h
+++ b/src/gsttools/qgstvideorenderersink_p.h
@@ -96,8 +96,8 @@ public:
private:
QVideoSurfaceFormat m_format;
GstVideoInfo m_videoInfo;
- bool m_flushed;
- QAbstractVideoBuffer::HandleType m_handleType;
+ bool m_flushed = true;
+ QAbstractVideoBuffer::HandleType m_handleType = QAbstractVideoBuffer::NoHandle;
};
class QVideoSurfaceGstDelegate : public QObject
@@ -134,21 +134,21 @@ private:
QMutex m_mutex;
QWaitCondition m_setupCondition;
QWaitCondition m_renderCondition;
- GstFlowReturn m_renderReturn;
+ GstFlowReturn m_renderReturn = GST_FLOW_OK;
QList<QGstVideoRenderer *> m_renderers;
- QGstVideoRenderer *m_renderer;
- QGstVideoRenderer *m_activeRenderer;
+ QGstVideoRenderer *m_renderer = nullptr;
+ QGstVideoRenderer *m_activeRenderer = nullptr;
- GstCaps *m_surfaceCaps;
- GstCaps *m_startCaps;
- GstBuffer *m_renderBuffer;
+ GstCaps *m_surfaceCaps = nullptr;
+ GstCaps *m_startCaps = nullptr;
+ GstBuffer *m_renderBuffer = nullptr;
#if QT_CONFIG(gstreamer_gl)
GstGLContext *m_gstGLDisplayContext = nullptr;
#endif
- bool m_notified;
- bool m_stop;
- bool m_flush;
+ bool m_notified = false;
+ bool m_stop = false;
+ bool m_flush = false;
};
class Q_GSTTOOLS_EXPORT QGstVideoRendererSink
@@ -184,7 +184,7 @@ private:
static gboolean query(GstBaseSink *element, GstQuery *query);
private:
- QVideoSurfaceGstDelegate *delegate;
+ QVideoSurfaceGstDelegate *delegate = nullptr;
};
diff --git a/src/gsttools/qvideosurfacegstsink.cpp b/src/gsttools/qvideosurfacegstsink.cpp
index 9655a2191..c63eea9a6 100644
--- a/src/gsttools/qvideosurfacegstsink.cpp
+++ b/src/gsttools/qvideosurfacegstsink.cpp
@@ -65,10 +65,6 @@ Q_GLOBAL_STATIC_WITH_ARGS(QMediaPluginLoader, bufferPoolLoader,
QVideoSurfaceGstDelegate::QVideoSurfaceGstDelegate(
QAbstractVideoSurface *surface)
: m_surface(surface)
- , m_pool(0)
- , m_renderReturn(GST_FLOW_ERROR)
- , m_bytesPerLine(0)
- , m_startCanceled(false)
{
if (m_surface) {
const auto instances = bufferPoolLoader()->instances(QGstBufferPoolPluginKey);
diff --git a/src/gsttools/qvideosurfacegstsink_p.h b/src/gsttools/qvideosurfacegstsink_p.h
index 961cf91d2..dd758ff82 100644
--- a/src/gsttools/qvideosurfacegstsink_p.h
+++ b/src/gsttools/qvideosurfacegstsink_p.h
@@ -119,7 +119,7 @@ private:
QList<QVideoFrame::PixelFormat> m_supportedPixelFormats;
//pixel formats of buffers pool native type
QList<QVideoFrame::PixelFormat> m_supportedPoolPixelFormats;
- QGstBufferPoolInterface *m_pool;
+ QGstBufferPoolInterface *m_pool = nullptr;
QList<QGstBufferPoolInterface *> m_pools;
QMutex m_poolMutex;
QMutex m_mutex;
@@ -127,10 +127,10 @@ private:
QWaitCondition m_renderCondition;
QVideoSurfaceFormat m_format;
QVideoFrame m_frame;
- GstFlowReturn m_renderReturn;
- int m_bytesPerLine;
- bool m_started;
- bool m_startCanceled;
+ GstFlowReturn m_renderReturn = GST_FLOW_ERROR;
+ int m_bytesPerLine = 0;
+ bool m_started = false;
+ bool m_startCanceled = false;
};
class QVideoSurfaceGstSink
@@ -172,11 +172,11 @@ private:
#endif
private:
- QVideoSurfaceGstDelegate *delegate;
+ QVideoSurfaceGstDelegate *delegate = nullptr;
- GstCaps *lastRequestedCaps;
- GstCaps *lastBufferCaps;
- QVideoSurfaceFormat *lastSurfaceFormat;
+ GstCaps *lastRequestedCaps = nullptr;
+ GstCaps *lastBufferCaps = nullptr;
+ QVideoSurfaceFormat *lastSurfaceFormat = nullptr;
};
class QVideoSurfaceGstSinkClass
diff --git a/src/multimedia/audio/qaudiodecoder.cpp b/src/multimedia/audio/qaudiodecoder.cpp
index b4ba854e1..0286e9a85 100644
--- a/src/multimedia/audio/qaudiodecoder.cpp
+++ b/src/multimedia/audio/qaudiodecoder.cpp
@@ -545,6 +545,6 @@ QAudioBuffer QAudioDecoder::read() const
\brief whether there is a decoded audio buffer available
*/
-#include "moc_qaudiodecoder.cpp"
QT_END_NAMESPACE
+#include "moc_qaudiodecoder.cpp"
diff --git a/src/multimedia/camera/qcameraexposure.cpp b/src/multimedia/camera/qcameraexposure.cpp
index 91950c7d2..022dea28c 100644
--- a/src/multimedia/camera/qcameraexposure.cpp
+++ b/src/multimedia/camera/qcameraexposure.cpp
@@ -702,5 +702,6 @@ void QCameraExposure::setAutoShutterSpeed()
Signal emitted when the exposure compensation changes to \a value.
*/
-#include "moc_qcameraexposure.cpp"
QT_END_NAMESPACE
+
+#include "moc_qcameraexposure.cpp"
diff --git a/src/multimedia/camera/qcamerafocus.cpp b/src/multimedia/camera/qcamerafocus.cpp
index 775e49b63..980b9dc93 100644
--- a/src/multimedia/camera/qcamerafocus.cpp
+++ b/src/multimedia/camera/qcamerafocus.cpp
@@ -609,6 +609,6 @@ void QCameraFocus::zoomTo(qreal optical, qreal digital)
have been detected.
*/
+QT_END_NAMESPACE
#include "moc_qcamerafocus.cpp"
-QT_END_NAMESPACE
diff --git a/src/multimedia/camera/qcameraimagecapture.cpp b/src/multimedia/camera/qcameraimagecapture.cpp
index 8f364a686..502812f76 100644
--- a/src/multimedia/camera/qcameraimagecapture.cpp
+++ b/src/multimedia/camera/qcameraimagecapture.cpp
@@ -643,7 +643,6 @@ void QCameraImageCapture::cancelCapture()
Signal emitted when the frame with request \a id was saved to \a fileName.
*/
-
-#include "moc_qcameraimagecapture.cpp"
QT_END_NAMESPACE
+#include "moc_qcameraimagecapture.cpp"
diff --git a/src/multimedia/controls/qaudiodecodercontrol.cpp b/src/multimedia/controls/qaudiodecodercontrol.cpp
index 09448ca41..4d6d36a2f 100644
--- a/src/multimedia/controls/qaudiodecodercontrol.cpp
+++ b/src/multimedia/controls/qaudiodecodercontrol.cpp
@@ -261,6 +261,6 @@ QAudioDecoderControl::QAudioDecoderControl(QObject *parent):
or -1 if not available.
*/
-#include "moc_qaudiodecodercontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qaudiodecodercontrol.cpp"
diff --git a/src/multimedia/controls/qaudioencodersettingscontrol.cpp b/src/multimedia/controls/qaudioencodersettingscontrol.cpp
index ad0437c6e..42f20201c 100644
--- a/src/multimedia/controls/qaudioencodersettingscontrol.cpp
+++ b/src/multimedia/controls/qaudioencodersettingscontrol.cpp
@@ -134,6 +134,6 @@ QAudioEncoderSettingsControl::~QAudioEncoderSettingsControl()
Sets the selected audio \a settings.
*/
-#include "moc_qaudioencodersettingscontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qaudioencodersettingscontrol.cpp"
diff --git a/src/multimedia/controls/qaudioinputselectorcontrol.cpp b/src/multimedia/controls/qaudioinputselectorcontrol.cpp
index 7f32de3e4..0f8843808 100644
--- a/src/multimedia/controls/qaudioinputselectorcontrol.cpp
+++ b/src/multimedia/controls/qaudioinputselectorcontrol.cpp
@@ -125,6 +125,6 @@ QAudioInputSelectorControl::~QAudioInputSelectorControl()
Signals that list of available inputs has changed.
*/
-#include "moc_qaudioinputselectorcontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qaudioinputselectorcontrol.cpp"
diff --git a/src/multimedia/controls/qaudiooutputselectorcontrol.cpp b/src/multimedia/controls/qaudiooutputselectorcontrol.cpp
index 728ec22ce..20c792f8d 100644
--- a/src/multimedia/controls/qaudiooutputselectorcontrol.cpp
+++ b/src/multimedia/controls/qaudiooutputselectorcontrol.cpp
@@ -125,6 +125,6 @@ QAudioOutputSelectorControl::~QAudioOutputSelectorControl()
Signals that list of available outputs has changed.
*/
-#include "moc_qaudiooutputselectorcontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qaudiooutputselectorcontrol.cpp"
diff --git a/src/multimedia/controls/qaudiorolecontrol.cpp b/src/multimedia/controls/qaudiorolecontrol.cpp
index 0ea2aea53..7b2341846 100644
--- a/src/multimedia/controls/qaudiorolecontrol.cpp
+++ b/src/multimedia/controls/qaudiorolecontrol.cpp
@@ -112,6 +112,6 @@ QAudioRoleControl::~QAudioRoleControl()
Signal emitted when the audio \a role has changed.
*/
+QT_END_NAMESPACE
#include "moc_qaudiorolecontrol.cpp"
-QT_END_NAMESPACE
diff --git a/src/multimedia/controls/qcameracapturebufferformatcontrol.cpp b/src/multimedia/controls/qcameracapturebufferformatcontrol.cpp
index e513e1416..553414681 100644
--- a/src/multimedia/controls/qcameracapturebufferformatcontrol.cpp
+++ b/src/multimedia/controls/qcameracapturebufferformatcontrol.cpp
@@ -107,6 +107,6 @@ QCameraCaptureBufferFormatControl::~QCameraCaptureBufferFormatControl()
Signals the buffer image capture format changed to \a format.
*/
-#include "moc_qcameracapturebufferformatcontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qcameracapturebufferformatcontrol.cpp"
diff --git a/src/multimedia/controls/qcameracapturedestinationcontrol.cpp b/src/multimedia/controls/qcameracapturedestinationcontrol.cpp
index e3ec10374..e037ab5a9 100644
--- a/src/multimedia/controls/qcameracapturedestinationcontrol.cpp
+++ b/src/multimedia/controls/qcameracapturedestinationcontrol.cpp
@@ -109,6 +109,6 @@ QCameraCaptureDestinationControl::~QCameraCaptureDestinationControl()
Signals the image capture \a destination changed.
*/
-#include "moc_qcameracapturedestinationcontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qcameracapturedestinationcontrol.cpp"
diff --git a/src/multimedia/controls/qcameracontrol.cpp b/src/multimedia/controls/qcameracontrol.cpp
index 0e562c853..03a7a073c 100644
--- a/src/multimedia/controls/qcameracontrol.cpp
+++ b/src/multimedia/controls/qcameracontrol.cpp
@@ -199,5 +199,6 @@ QCameraControl::~QCameraControl()
\value ViewfinderSettings Viewfinder settings are changed.
*/
-#include "moc_qcameracontrol.cpp"
QT_END_NAMESPACE
+
+#include "moc_qcameracontrol.cpp"
diff --git a/src/multimedia/controls/qcameraexposurecontrol.cpp b/src/multimedia/controls/qcameraexposurecontrol.cpp
index c13be0d5d..1434f0976 100644
--- a/src/multimedia/controls/qcameraexposurecontrol.cpp
+++ b/src/multimedia/controls/qcameraexposurecontrol.cpp
@@ -201,7 +201,6 @@ QCameraExposureControl::~QCameraExposureControl()
\since 5.0
*/
-
-#include "moc_qcameraexposurecontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qcameraexposurecontrol.cpp"
diff --git a/src/multimedia/controls/qcameraflashcontrol.cpp b/src/multimedia/controls/qcameraflashcontrol.cpp
index d77984dad..d5d9b564f 100644
--- a/src/multimedia/controls/qcameraflashcontrol.cpp
+++ b/src/multimedia/controls/qcameraflashcontrol.cpp
@@ -128,6 +128,6 @@ QCameraFlashControl::~QCameraFlashControl()
Signal emitted when flash state changes to \a ready.
*/
-#include "moc_qcameraflashcontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qcameraflashcontrol.cpp"
diff --git a/src/multimedia/controls/qcamerafocuscontrol.cpp b/src/multimedia/controls/qcamerafocuscontrol.cpp
index 6884ab617..d963c95d4 100644
--- a/src/multimedia/controls/qcamerafocuscontrol.cpp
+++ b/src/multimedia/controls/qcamerafocuscontrol.cpp
@@ -192,6 +192,6 @@ QCameraFocusControl::~QCameraFocusControl()
-#include "moc_qcamerafocuscontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qcamerafocuscontrol.cpp"
diff --git a/src/multimedia/controls/qcameraimagecapturecontrol.cpp b/src/multimedia/controls/qcameraimagecapturecontrol.cpp
index bfc973aba..3c110eb68 100644
--- a/src/multimedia/controls/qcameraimagecapturecontrol.cpp
+++ b/src/multimedia/controls/qcameraimagecapturecontrol.cpp
@@ -189,6 +189,6 @@ QCameraImageCaptureControl::~QCameraImageCaptureControl()
*/
-#include "moc_qcameraimagecapturecontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qcameraimagecapturecontrol.cpp"
diff --git a/src/multimedia/controls/qcameraimageprocessingcontrol.cpp b/src/multimedia/controls/qcameraimageprocessingcontrol.cpp
index a72fc7bb5..a39846642 100644
--- a/src/multimedia/controls/qcameraimageprocessingcontrol.cpp
+++ b/src/multimedia/controls/qcameraimageprocessingcontrol.cpp
@@ -183,6 +183,6 @@ QCameraImageProcessingControl::~QCameraImageProcessingControl()
The base value for platform specific extended parameters.
*/
-#include "moc_qcameraimageprocessingcontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qcameraimageprocessingcontrol.cpp"
diff --git a/src/multimedia/controls/qcamerainfocontrol.cpp b/src/multimedia/controls/qcamerainfocontrol.cpp
index e69e0c3eb..de6dc4277 100644
--- a/src/multimedia/controls/qcamerainfocontrol.cpp
+++ b/src/multimedia/controls/qcamerainfocontrol.cpp
@@ -97,6 +97,6 @@ QCameraInfoControl::~QCameraInfoControl()
in relation to the display in its natural orientation.
*/
-#include "moc_qcamerainfocontrol.cpp"
-
QT_END_NAMESPACE
+
+#include "moc_qcamerainfocontrol.cpp"
diff --git a/src/multimedia/controls/qcameraviewfindersettingscontrol.cpp b/src/multimedia/controls/qcameraviewfindersettingscontrol.cpp
index c7610dd8f..6fa0ded82 100644
--- a/src/multimedia/controls/qcameraviewfindersettingscontrol.cpp
+++ b/src/multimedia/controls/qcameraviewfindersettingscontrol.cpp
@@ -200,6 +200,6 @@ QCameraViewfinderSettingsControl2::~QCameraViewfinderSettingsControl2()
Sets the camera viewfinder \a settings.
*/
-#include "moc_qcameraviewfindersettingscontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qcameraviewfindersettingscontrol.cpp"
diff --git a/src/multimedia/controls/qcamerazoomcontrol.cpp b/src/multimedia/controls/qcamerazoomcontrol.cpp
index 9a3de0542..9c8d8d289 100644
--- a/src/multimedia/controls/qcamerazoomcontrol.cpp
+++ b/src/multimedia/controls/qcamerazoomcontrol.cpp
@@ -182,6 +182,6 @@ QCameraZoomControl::~QCameraZoomControl()
like capture mode or resolution.
*/
-#include "moc_qcamerazoomcontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qcamerazoomcontrol.cpp"
diff --git a/src/multimedia/controls/qcustomaudiorolecontrol.cpp b/src/multimedia/controls/qcustomaudiorolecontrol.cpp
index 39431be01..046219687 100644
--- a/src/multimedia/controls/qcustomaudiorolecontrol.cpp
+++ b/src/multimedia/controls/qcustomaudiorolecontrol.cpp
@@ -113,5 +113,6 @@ QCustomAudioRoleControl::~QCustomAudioRoleControl()
Signal emitted when the audio \a role has changed.
*/
-#include "moc_qcustomaudiorolecontrol.cpp"
QT_END_NAMESPACE
+
+#include "moc_qcustomaudiorolecontrol.cpp"
diff --git a/src/multimedia/controls/qimageencodercontrol.cpp b/src/multimedia/controls/qimageencodercontrol.cpp
index 1d5c23441..c29a61662 100644
--- a/src/multimedia/controls/qimageencodercontrol.cpp
+++ b/src/multimedia/controls/qimageencodercontrol.cpp
@@ -131,6 +131,6 @@ QImageEncoderControl::~QImageEncoderControl()
Sets the selected image encoder \a settings.
*/
-#include "moc_qimageencodercontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qimageencodercontrol.cpp"
diff --git a/src/multimedia/controls/qmediaaudioprobecontrol.cpp b/src/multimedia/controls/qmediaaudioprobecontrol.cpp
index f71763c96..296f01888 100644
--- a/src/multimedia/controls/qmediaaudioprobecontrol.cpp
+++ b/src/multimedia/controls/qmediaaudioprobecontrol.cpp
@@ -97,6 +97,6 @@ QMediaAudioProbeControl::~QMediaAudioProbeControl()
This signal should be emitted when it is required to release all frames.
*/
-#include "moc_qmediaaudioprobecontrol.cpp"
-
QT_END_NAMESPACE
+
+#include "moc_qmediaaudioprobecontrol.cpp"
diff --git a/src/multimedia/controls/qmediaavailabilitycontrol.cpp b/src/multimedia/controls/qmediaavailabilitycontrol.cpp
index 163d71a3f..1a6d73a8a 100644
--- a/src/multimedia/controls/qmediaavailabilitycontrol.cpp
+++ b/src/multimedia/controls/qmediaavailabilitycontrol.cpp
@@ -103,5 +103,6 @@ QMediaAvailabilityControl::~QMediaAvailabilityControl()
Signal emitted when the current \a availability value changed.
*/
-#include "moc_qmediaavailabilitycontrol.cpp"
QT_END_NAMESPACE
+
+#include "moc_qmediaavailabilitycontrol.cpp"
diff --git a/src/multimedia/controls/qmediacontainercontrol.cpp b/src/multimedia/controls/qmediacontainercontrol.cpp
index 0f130645f..b15c8acdc 100644
--- a/src/multimedia/controls/qmediacontainercontrol.cpp
+++ b/src/multimedia/controls/qmediacontainercontrol.cpp
@@ -116,6 +116,6 @@ QMediaContainerControl::~QMediaContainerControl()
Returns a description of the container \a formatMimeType.
*/
-#include "moc_qmediacontainercontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qmediacontainercontrol.cpp"
diff --git a/src/multimedia/controls/qmedianetworkaccesscontrol.cpp b/src/multimedia/controls/qmedianetworkaccesscontrol.cpp
index 222bee216..9e9ad239d 100644
--- a/src/multimedia/controls/qmedianetworkaccesscontrol.cpp
+++ b/src/multimedia/controls/qmedianetworkaccesscontrol.cpp
@@ -96,7 +96,6 @@ QMediaNetworkAccessControl::~QMediaNetworkAccessControl()
to \a configuration.
*/
-
+QT_END_NAMESPACE
#include "moc_qmedianetworkaccesscontrol.cpp"
-QT_END_NAMESPACE
diff --git a/src/multimedia/controls/qmediaplayercontrol.cpp b/src/multimedia/controls/qmediaplayercontrol.cpp
index 15f9e7d49..28b217af8 100644
--- a/src/multimedia/controls/qmediaplayercontrol.cpp
+++ b/src/multimedia/controls/qmediaplayercontrol.cpp
@@ -380,6 +380,6 @@ QMediaPlayerControl::QMediaPlayerControl(QObject *parent):
Signal emitted when playback rate changes to \a rate.
*/
-#include "moc_qmediaplayercontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qmediaplayercontrol.cpp"
diff --git a/src/multimedia/controls/qmediaplaylistcontrol.cpp b/src/multimedia/controls/qmediaplaylistcontrol.cpp
index a9144e404..61e20e170 100644
--- a/src/multimedia/controls/qmediaplaylistcontrol.cpp
+++ b/src/multimedia/controls/qmediaplaylistcontrol.cpp
@@ -201,6 +201,6 @@ QMediaPlaylistControl::~QMediaPlaylistControl()
Signal emitted when current media changes to \a content.
*/
-#include "moc_qmediaplaylistcontrol_p.cpp"
QT_END_NAMESPACE
+#include "moc_qmediaplaylistcontrol_p.cpp"
diff --git a/src/multimedia/controls/qmediaplaylistsourcecontrol.cpp b/src/multimedia/controls/qmediaplaylistsourcecontrol.cpp
index 3c1ee4565..f95c4b508 100644
--- a/src/multimedia/controls/qmediaplaylistsourcecontrol.cpp
+++ b/src/multimedia/controls/qmediaplaylistsourcecontrol.cpp
@@ -121,6 +121,6 @@ QMediaPlaylistSourceControl::~QMediaPlaylistSourceControl()
Signal emitted when the playlist has changed to \a playlist.
*/
-#include "moc_qmediaplaylistsourcecontrol_p.cpp"
QT_END_NAMESPACE
+#include "moc_qmediaplaylistsourcecontrol_p.cpp"
diff --git a/src/multimedia/controls/qmediarecordercontrol.cpp b/src/multimedia/controls/qmediarecordercontrol.cpp
index e4667d369..f078073ef 100644
--- a/src/multimedia/controls/qmediarecordercontrol.cpp
+++ b/src/multimedia/controls/qmediarecordercontrol.cpp
@@ -217,6 +217,6 @@ QMediaRecorderControl::~QMediaRecorderControl()
Signals that an \a error has occurred. The \a errorString describes the error.
*/
-#include "moc_qmediarecordercontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qmediarecordercontrol.cpp"
diff --git a/src/multimedia/controls/qmediastreamscontrol.cpp b/src/multimedia/controls/qmediastreamscontrol.cpp
index 2daf50de8..aa5fe007d 100644
--- a/src/multimedia/controls/qmediastreamscontrol.cpp
+++ b/src/multimedia/controls/qmediastreamscontrol.cpp
@@ -155,6 +155,6 @@ QMediaStreamsControl::~QMediaStreamsControl()
The signal is emitted when the active streams list is changed.
*/
-#include "moc_qmediastreamscontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qmediastreamscontrol.cpp"
diff --git a/src/multimedia/controls/qmediavideoprobecontrol.cpp b/src/multimedia/controls/qmediavideoprobecontrol.cpp
index 57bfbc78b..ea27ab057 100644
--- a/src/multimedia/controls/qmediavideoprobecontrol.cpp
+++ b/src/multimedia/controls/qmediavideoprobecontrol.cpp
@@ -96,6 +96,6 @@ QMediaVideoProbeControl::~QMediaVideoProbeControl()
This signal should be emitted when it is required to release all frames.
*/
-#include "moc_qmediavideoprobecontrol.cpp"
-
QT_END_NAMESPACE
+
+#include "moc_qmediavideoprobecontrol.cpp"
diff --git a/src/multimedia/controls/qmetadatareadercontrol.cpp b/src/multimedia/controls/qmetadatareadercontrol.cpp
index 8e9880c68..e728353f6 100644
--- a/src/multimedia/controls/qmetadatareadercontrol.cpp
+++ b/src/multimedia/controls/qmetadatareadercontrol.cpp
@@ -143,6 +143,6 @@ QMetaDataReaderControl::~QMetaDataReaderControl()
be true if the multimedia object has meta-data.
*/
-#include "moc_qmetadatareadercontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qmetadatareadercontrol.cpp"
diff --git a/src/multimedia/controls/qmetadatawritercontrol.cpp b/src/multimedia/controls/qmetadatawritercontrol.cpp
index e9d7dc793..053597b88 100644
--- a/src/multimedia/controls/qmetadatawritercontrol.cpp
+++ b/src/multimedia/controls/qmetadatawritercontrol.cpp
@@ -163,6 +163,6 @@ QMetaDataWriterControl::~QMetaDataWriterControl()
true if meta-data elements can be added or adjusted.
*/
-#include "moc_qmetadatawritercontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qmetadatawritercontrol.cpp"
diff --git a/src/multimedia/controls/qradiodatacontrol.cpp b/src/multimedia/controls/qradiodatacontrol.cpp
index eaa9aaed6..df0046b5e 100644
--- a/src/multimedia/controls/qradiodatacontrol.cpp
+++ b/src/multimedia/controls/qradiodatacontrol.cpp
@@ -187,6 +187,6 @@ QRadioDataControl::~QRadioDataControl()
Signals that the Radio Text \a radioText has changed
*/
-#include "moc_qradiodatacontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qradiodatacontrol.cpp"
diff --git a/src/multimedia/controls/qvideodeviceselectorcontrol.cpp b/src/multimedia/controls/qvideodeviceselectorcontrol.cpp
index ccdb3e798..8c4ee7ba4 100644
--- a/src/multimedia/controls/qvideodeviceselectorcontrol.cpp
+++ b/src/multimedia/controls/qvideodeviceselectorcontrol.cpp
@@ -137,6 +137,6 @@ QVideoDeviceSelectorControl::~QVideoDeviceSelectorControl()
Signals that the selected video device \a name has changed.
*/
-#include "moc_qvideodeviceselectorcontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qvideodeviceselectorcontrol.cpp"
diff --git a/src/multimedia/controls/qvideoencodersettingscontrol.cpp b/src/multimedia/controls/qvideoencodersettingscontrol.cpp
index c06bf7387..52ae51382 100644
--- a/src/multimedia/controls/qvideoencodersettingscontrol.cpp
+++ b/src/multimedia/controls/qvideoencodersettingscontrol.cpp
@@ -155,6 +155,6 @@ QVideoEncoderSettingsControl::~QVideoEncoderSettingsControl()
Sets the selected video encoder \a settings.
*/
-#include "moc_qvideoencodersettingscontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qvideoencodersettingscontrol.cpp"
diff --git a/src/multimedia/controls/qvideorenderercontrol.cpp b/src/multimedia/controls/qvideorenderercontrol.cpp
index 92973e5f8..e722dfa38 100644
--- a/src/multimedia/controls/qvideorenderercontrol.cpp
+++ b/src/multimedia/controls/qvideorenderercontrol.cpp
@@ -103,6 +103,6 @@ QVideoRendererControl::~QVideoRendererControl()
Sets the \a surface a video producer renders to.
*/
-#include "moc_qvideorenderercontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qvideorenderercontrol.cpp"
diff --git a/src/multimedia/controls/qvideowindowcontrol.cpp b/src/multimedia/controls/qvideowindowcontrol.cpp
index c41490694..e971a6925 100644
--- a/src/multimedia/controls/qvideowindowcontrol.cpp
+++ b/src/multimedia/controls/qvideowindowcontrol.cpp
@@ -253,6 +253,6 @@ QVideoWindowControl::~QVideoWindowControl()
Signals that a video overlay's \a saturation adjustment has changed.
*/
-#include "moc_qvideowindowcontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qvideowindowcontrol.cpp"
diff --git a/src/multimedia/playback/qmedianetworkplaylistprovider.cpp b/src/multimedia/playback/qmedianetworkplaylistprovider.cpp
index 3f24d0f55..3156081e7 100644
--- a/src/multimedia/playback/qmedianetworkplaylistprovider.cpp
+++ b/src/multimedia/playback/qmedianetworkplaylistprovider.cpp
@@ -276,7 +276,6 @@ void QMediaNetworkPlaylistProvider::shuffle()
}
-#include "moc_qmedianetworkplaylistprovider_p.cpp"
-
QT_END_NAMESPACE
+#include "moc_qmedianetworkplaylistprovider_p.cpp"
diff --git a/src/multimedia/playback/qmediaplayer.cpp b/src/multimedia/playback/qmediaplayer.cpp
index 5723a77dd..cfb4af63a 100644
--- a/src/multimedia/playback/qmediaplayer.cpp
+++ b/src/multimedia/playback/qmediaplayer.cpp
@@ -1646,6 +1646,6 @@ QStringList QMediaPlayer::supportedCustomAudioRoles() const
QAbstractVideoSurface \l {setVideoOutput()}{output}.
*/
-#include "moc_qmediaplayer.cpp"
QT_END_NAMESPACE
+#include "moc_qmediaplayer.cpp"
diff --git a/src/multimedia/playback/qmediaplaylist.cpp b/src/multimedia/playback/qmediaplaylist.cpp
index 7618827da..7c21a599b 100644
--- a/src/multimedia/playback/qmediaplaylist.cpp
+++ b/src/multimedia/playback/qmediaplaylist.cpp
@@ -818,7 +818,7 @@ void QMediaPlaylist::setCurrentIndex(int playlistPosition)
\value AccessDeniedError Access denied error.
*/
-#include "moc_qmediaplaylist.cpp"
-#include "moc_qmediaplaylist_p.cpp"
QT_END_NAMESPACE
+#include "moc_qmediaplaylist.cpp"
+#include "moc_qmediaplaylist_p.cpp"
diff --git a/src/multimedia/playback/qmediaplaylistioplugin.cpp b/src/multimedia/playback/qmediaplaylistioplugin.cpp
index a0f0e8321..957c7c79d 100644
--- a/src/multimedia/playback/qmediaplaylistioplugin.cpp
+++ b/src/multimedia/playback/qmediaplaylistioplugin.cpp
@@ -183,6 +183,6 @@ QMediaPlaylistIOPlugin::~QMediaPlaylistIOPlugin()
If the device is invalid or the format is unsupported this will return a null pointer.
*/
-#include "moc_qmediaplaylistioplugin_p.cpp"
QT_END_NAMESPACE
+#include "moc_qmediaplaylistioplugin_p.cpp"
diff --git a/src/multimedia/playback/qmediaplaylistnavigator.cpp b/src/multimedia/playback/qmediaplaylistnavigator.cpp
index 120f621f5..9b25f968a 100644
--- a/src/multimedia/playback/qmediaplaylistnavigator.cpp
+++ b/src/multimedia/playback/qmediaplaylistnavigator.cpp
@@ -539,6 +539,6 @@ void QMediaPlaylistNavigatorPrivate::_q_mediaChanged(int start, int end)
Signals that media immediately surrounding the current position has changed.
*/
-#include "moc_qmediaplaylistnavigator_p.cpp"
QT_END_NAMESPACE
+#include "moc_qmediaplaylistnavigator_p.cpp"
diff --git a/src/multimedia/playback/qmediaplaylistprovider.cpp b/src/multimedia/playback/qmediaplaylistprovider.cpp
index f441052c1..b146fb7b3 100644
--- a/src/multimedia/playback/qmediaplaylistprovider.cpp
+++ b/src/multimedia/playback/qmediaplaylistprovider.cpp
@@ -316,6 +316,6 @@ void QMediaPlaylistProvider::shuffle()
Signals that a load failed() due to an \a error. The \a errorMessage provides more information.
*/
-#include "moc_qmediaplaylistprovider_p.cpp"
QT_END_NAMESPACE
+#include "moc_qmediaplaylistprovider_p.cpp"
diff --git a/src/multimedia/qmediacontrol.cpp b/src/multimedia/qmediacontrol.cpp
index 939b9f393..b8f980aa0 100644
--- a/src/multimedia/qmediacontrol.cpp
+++ b/src/multimedia/qmediacontrol.cpp
@@ -130,6 +130,6 @@ QMediaControl::QMediaControl(QMediaControlPrivate &dd, QObject *parent)
d_ptr->q_ptr = this;
}
-#include "moc_qmediacontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qmediacontrol.cpp"
diff --git a/src/multimedia/qmediaobject.cpp b/src/multimedia/qmediaobject.cpp
index b5fc3273b..a26433c8e 100644
--- a/src/multimedia/qmediaobject.cpp
+++ b/src/multimedia/qmediaobject.cpp
@@ -422,7 +422,6 @@ void QMediaObject::setupControls()
Signal emitted when the availability of the service has changed to \a availability.
*/
-
-#include "moc_qmediaobject.cpp"
QT_END_NAMESPACE
+#include "moc_qmediaobject.cpp"
diff --git a/src/multimedia/qmediaservice.cpp b/src/multimedia/qmediaservice.cpp
index 52f5fdee3..7ea24c6dc 100644
--- a/src/multimedia/qmediaservice.cpp
+++ b/src/multimedia/qmediaservice.cpp
@@ -137,7 +137,6 @@ QMediaService::~QMediaService()
Releases a \a control back to the service.
*/
-#include "moc_qmediaservice.cpp"
-
QT_END_NAMESPACE
+#include "moc_qmediaservice.cpp"
diff --git a/src/multimedia/qmediaserviceprovider.cpp b/src/multimedia/qmediaserviceprovider.cpp
index 355f91bf2..5731cf5be 100644
--- a/src/multimedia/qmediaserviceprovider.cpp
+++ b/src/multimedia/qmediaserviceprovider.cpp
@@ -987,7 +987,7 @@ QMediaServiceProvider *QMediaServiceProvider::defaultServiceProvider()
Returns a set of features supported by a plug-in \a service.
*/
-#include "moc_qmediaserviceprovider_p.cpp"
-#include "moc_qmediaserviceproviderplugin.cpp"
QT_END_NAMESPACE
+#include "moc_qmediaserviceprovider_p.cpp"
+#include "moc_qmediaserviceproviderplugin.cpp"
diff --git a/src/multimedia/radio/qradiodata.cpp b/src/multimedia/radio/qradiodata.cpp
index d71488b52..4c824a4f8 100644
--- a/src/multimedia/radio/qradiodata.cpp
+++ b/src/multimedia/radio/qradiodata.cpp
@@ -473,6 +473,6 @@ QString QRadioData::errorString() const
\value College
*/
-#include "moc_qradiodata.cpp"
QT_END_NAMESPACE
+#include "moc_qradiodata.cpp"
diff --git a/src/multimedia/radio/qradiotuner.cpp b/src/multimedia/radio/qradiotuner.cpp
index cc9abdbf8..2af0d0f02 100644
--- a/src/multimedia/radio/qradiotuner.cpp
+++ b/src/multimedia/radio/qradiotuner.cpp
@@ -654,6 +654,6 @@ QRadioData *QRadioTuner::radioData() const
This signal is emitted when the state changes to \a state.
*/
-#include "moc_qradiotuner.cpp"
QT_END_NAMESPACE
+#include "moc_qradiotuner.cpp"
diff --git a/src/multimedia/recording/qaudiorecorder.cpp b/src/multimedia/recording/qaudiorecorder.cpp
index dcbdabc17..1db5c54a2 100644
--- a/src/multimedia/recording/qaudiorecorder.cpp
+++ b/src/multimedia/recording/qaudiorecorder.cpp
@@ -243,8 +243,6 @@ void QAudioRecorder::setAudioInput(const QString& name)
Signal is emitted when the available audio inputs change.
*/
-
-
-#include "moc_qaudiorecorder.cpp"
QT_END_NAMESPACE
+#include "moc_qaudiorecorder.cpp"
diff --git a/src/multimedia/recording/qmediarecorder.cpp b/src/multimedia/recording/qmediarecorder.cpp
index 2b7729481..1d562a00e 100644
--- a/src/multimedia/recording/qmediarecorder.cpp
+++ b/src/multimedia/recording/qmediarecorder.cpp
@@ -1105,6 +1105,6 @@ QStringList QMediaRecorder::availableMetaData() const
Signal the changes of one meta-data element \a value with the given \a key.
*/
-#include "moc_qmediarecorder.cpp"
QT_END_NAMESPACE
+#include "moc_qmediarecorder.cpp"
diff --git a/src/multimediawidgets/qgraphicsvideoitem.cpp b/src/multimediawidgets/qgraphicsvideoitem.cpp
index 38f5c0e5b..2db8987fb 100644
--- a/src/multimediawidgets/qgraphicsvideoitem.cpp
+++ b/src/multimediawidgets/qgraphicsvideoitem.cpp
@@ -415,5 +415,6 @@ void QGraphicsVideoItem::timerEvent(QTimerEvent *event)
QGraphicsObject::timerEvent(event);
}
-#include "moc_qgraphicsvideoitem.cpp"
QT_END_NAMESPACE
+
+#include "moc_qgraphicsvideoitem.cpp"
diff --git a/src/multimediawidgets/qpaintervideosurface.cpp b/src/multimediawidgets/qpaintervideosurface.cpp
index 6af0c7588..944ea23a7 100644
--- a/src/multimediawidgets/qpaintervideosurface.cpp
+++ b/src/multimediawidgets/qpaintervideosurface.cpp
@@ -1761,7 +1761,6 @@ void QPainterVideoSurface::createPainter()
#endif
}
-#include "moc_qpaintervideosurface_p.cpp"
QT_END_NAMESPACE
-
+#include "moc_qpaintervideosurface_p.cpp"
diff --git a/src/multimediawidgets/qvideowidget.cpp b/src/multimediawidgets/qvideowidget.cpp
index 3d3c1294b..a7d3665f8 100644
--- a/src/multimediawidgets/qvideowidget.cpp
+++ b/src/multimediawidgets/qvideowidget.cpp
@@ -1027,7 +1027,7 @@ bool QVideoWidget::nativeEvent(const QByteArray &eventType, void *message, long
}
#endif
-#include "moc_qvideowidget.cpp"
-#include "moc_qvideowidget_p.cpp"
QT_END_NAMESPACE
+#include "moc_qvideowidget.cpp"
+#include "moc_qvideowidget_p.cpp"
diff --git a/src/multimediawidgets/qvideowidgetcontrol.cpp b/src/multimediawidgets/qvideowidgetcontrol.cpp
index a71500dbd..7f72c620e 100644
--- a/src/multimediawidgets/qvideowidgetcontrol.cpp
+++ b/src/multimediawidgets/qvideowidgetcontrol.cpp
@@ -219,6 +219,6 @@ QVideoWidgetControl::~QVideoWidgetControl()
Returns the QWidget.
*/
-#include "moc_qvideowidgetcontrol.cpp"
QT_END_NAMESPACE
+#include "moc_qvideowidgetcontrol.cpp"
diff --git a/src/plugins/common/evr/evrcustompresenter.cpp b/src/plugins/common/evr/evrcustompresenter.cpp
index ef2e02220..b2dd0426c 100644
--- a/src/plugins/common/evr/evrcustompresenter.cpp
+++ b/src/plugins/common/evr/evrcustompresenter.cpp
@@ -559,6 +559,7 @@ EVRCustomPresenter::EVRCustomPresenter(QAbstractVideoSurface *surface)
, m_mediaType(0)
, m_surface(0)
, m_canRenderToSurface(false)
+ , m_positionOffset(0)
{
// Initial source rectangle = (0,0,1,1)
m_sourceRect.top = 0;
@@ -1145,7 +1146,7 @@ HRESULT EVRCustomPresenter::flush()
sample->Release();
m_frameStep.samples.clear();
- if (m_renderState == RenderStopped && m_surface->isActive()) {
+ if (m_renderState == RenderStopped && m_surface && m_surface->isActive()) {
// Repaint with black.
presentSample(NULL);
}
@@ -1934,6 +1935,15 @@ void EVRCustomPresenter::presentSample(IMFSample *sample)
QVideoFrame frame = m_presentEngine->makeVideoFrame(sample);
+ // Since start/end times are related to a position when the clock is started,
+ // to have times from the beginning, need to adjust it by adding seeked position.
+ if (m_positionOffset) {
+ if (frame.startTime())
+ frame.setStartTime(frame.startTime() + m_positionOffset);
+ if (frame.endTime())
+ frame.setEndTime(frame.endTime() + m_positionOffset);
+ }
+
if (!m_surface->isActive() || m_surface->surfaceFormat() != m_presentEngine->videoSurfaceFormat()) {
m_surface->stop();
if (!m_surface->start(m_presentEngine->videoSurfaceFormat()))
@@ -1943,6 +1953,11 @@ void EVRCustomPresenter::presentSample(IMFSample *sample)
m_surface->present(frame);
}
+void EVRCustomPresenter::positionChanged(qint64 position)
+{
+ m_positionOffset = position * 1000;
+}
+
HRESULT setDesiredSampleTime(IMFSample *sample, const LONGLONG &sampleTime, const LONGLONG &duration)
{
if (!sample)
diff --git a/src/plugins/common/evr/evrcustompresenter.h b/src/plugins/common/evr/evrcustompresenter.h
index 5b7140b58..c1c21580e 100644
--- a/src/plugins/common/evr/evrcustompresenter.h
+++ b/src/plugins/common/evr/evrcustompresenter.h
@@ -264,6 +264,9 @@ public:
bool event(QEvent *) override;
+public Q_SLOTS:
+ void positionChanged(qint64 position);
+
private:
HRESULT checkShutdown() const
{
@@ -364,6 +367,7 @@ private:
QAbstractVideoSurface *m_surface;
bool m_canRenderToSurface;
+ qint64 m_positionOffset; // Seek position in microseconds.
};
bool qt_evr_setCustomPresenter(IUnknown *evr, EVRCustomPresenter *presenter);
diff --git a/src/plugins/common/evr/evrd3dpresentengine.cpp b/src/plugins/common/evr/evrd3dpresentengine.cpp
index 4ce5a99d7..d8e2da6d3 100644
--- a/src/plugins/common/evr/evrd3dpresentengine.cpp
+++ b/src/plugins/common/evr/evrd3dpresentengine.cpp
@@ -593,6 +593,17 @@ QVideoFrame D3DPresentEngine::makeVideoFrame(IMFSample *sample)
m_surfaceFormat.frameSize(),
m_surfaceFormat.pixelFormat());
+ // WMF uses 100-nanosecond units, Qt uses microseconds
+ LONGLONG startTime = 0;
+ auto hr = sample->GetSampleTime(&startTime);
+ if (SUCCEEDED(hr)) {
+ frame.setStartTime(startTime * 0.1);
+
+ LONGLONG duration = -1;
+ if (SUCCEEDED(sample->GetSampleDuration(&duration)))
+ frame.setEndTime((startTime + duration) * 0.1);
+ }
+
return frame;
}
diff --git a/src/plugins/directshow/common/directshowutils.cpp b/src/plugins/directshow/common/directshowutils.cpp
index 21b86926f..1457837ce 100644
--- a/src/plugins/directshow/common/directshowutils.cpp
+++ b/src/plugins/directshow/common/directshowutils.cpp
@@ -309,4 +309,17 @@ bool DirectShowUtils::connectFilters(IGraphBuilder *graph,
return false;
}
+thread_local static int g_refCount = 0;
+void DirectShowUtils::CoInitializeIfNeeded()
+{
+ if (++g_refCount == 1)
+ ::CoInitialize(nullptr);
+}
+
+void DirectShowUtils::CoUninitializeIfNeeded()
+{
+ if (--g_refCount == 0)
+ ::CoUninitialize();
+}
+
QT_END_NAMESPACE
diff --git a/src/plugins/directshow/common/directshowutils.h b/src/plugins/directshow/common/directshowutils.h
index 09c81c257..5f2cfaa23 100644
--- a/src/plugins/directshow/common/directshowutils.h
+++ b/src/plugins/directshow/common/directshowutils.h
@@ -80,6 +80,10 @@ bool connectFilters(IGraphBuilder *graph,
IBaseFilter *downstreamFilter,
bool autoConnect = false,
HRESULT *hrOut = nullptr);
+
+void CoInitializeIfNeeded();
+void CoUninitializeIfNeeded();
+
}
QT_END_NAMESPACE
diff --git a/src/plugins/directshow/dsserviceplugin.cpp b/src/plugins/directshow/dsserviceplugin.cpp
index e22bfe93b..18a807fd1 100644
--- a/src/plugins/directshow/dsserviceplugin.cpp
+++ b/src/plugins/directshow/dsserviceplugin.cpp
@@ -54,6 +54,7 @@
#include "directshowplayerservice.h"
#include <qmediaserviceproviderplugin.h>
+#include "directshowutils.h"
extern const CLSID CLSID_VideoInputDeviceCategory;
@@ -74,28 +75,15 @@ extern const CLSID CLSID_VideoInputDeviceCategory;
QT_BEGIN_NAMESPACE
Q_LOGGING_CATEGORY(qtDirectShowPlugin, "qt.multimedia.plugins.directshow")
-static int g_refCount = 0;
-void addRefCount()
-{
- if (++g_refCount == 1)
- CoInitialize(nullptr);
-}
-
-void releaseRefCount()
-{
- if (--g_refCount == 0)
- CoUninitialize();
-}
-
QMediaService* DSServicePlugin::create(QString const& key)
{
if (key == QLatin1String(Q_MEDIASERVICE_CAMERA)) {
- addRefCount();
+ DirectShowUtils::CoInitializeIfNeeded();
return new DSCameraService;
}
if (key == QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER)) {
- addRefCount();
+ DirectShowUtils::CoInitializeIfNeeded();
return new DirectShowPlayerService;
}
@@ -105,7 +93,7 @@ QMediaService* DSServicePlugin::create(QString const& key)
void DSServicePlugin::release(QMediaService *service)
{
delete service;
- releaseRefCount();
+ DirectShowUtils::CoUninitializeIfNeeded();
}
QMediaServiceProviderHint::Features DSServicePlugin::supportedFeatures(
@@ -119,9 +107,9 @@ QMediaServiceProviderHint::Features DSServicePlugin::supportedFeatures(
QByteArray DSServicePlugin::defaultDevice(const QByteArray &service) const
{
if (service == Q_MEDIASERVICE_CAMERA) {
- addRefCount();
+ DirectShowUtils::CoInitializeIfNeeded();
const QList<DSVideoDeviceInfo> &devs = DSVideoDeviceControl::availableDevices();
- releaseRefCount();
+ DirectShowUtils::CoUninitializeIfNeeded();
if (!devs.isEmpty())
return devs.first().first;
}
@@ -133,9 +121,9 @@ QList<QByteArray> DSServicePlugin::devices(const QByteArray &service) const
QList<QByteArray> result;
if (service == Q_MEDIASERVICE_CAMERA) {
- addRefCount();
+ DirectShowUtils::CoInitializeIfNeeded();
const QList<DSVideoDeviceInfo> &devs = DSVideoDeviceControl::availableDevices();
- releaseRefCount();
+ DirectShowUtils::CoUninitializeIfNeeded();
for (const DSVideoDeviceInfo &info : devs)
result.append(info.first);
}
@@ -146,9 +134,9 @@ QList<QByteArray> DSServicePlugin::devices(const QByteArray &service) const
QString DSServicePlugin::deviceDescription(const QByteArray &service, const QByteArray &device)
{
if (service == Q_MEDIASERVICE_CAMERA) {
- addRefCount();
+ DirectShowUtils::CoInitializeIfNeeded();
const QList<DSVideoDeviceInfo> &devs = DSVideoDeviceControl::availableDevices();
- releaseRefCount();
+ DirectShowUtils::CoUninitializeIfNeeded();
for (const DSVideoDeviceInfo &info : devs) {
if (info.first == device)
return info.second;
diff --git a/src/plugins/directshow/player/directshowplayerservice.cpp b/src/plugins/directshow/player/directshowplayerservice.cpp
index cf0b5f84d..42105c471 100644
--- a/src/plugins/directshow/player/directshowplayerservice.cpp
+++ b/src/plugins/directshow/player/directshowplayerservice.cpp
@@ -303,6 +303,7 @@ void DirectShowPlayerService::load(const QMediaContent &media, QIODevice *stream
0x36b73882, 0xc2c8, 0x11cf, {0x8b, 0x46, 0x00, 0x80, 0x5f, 0x6c, 0xef, 0x60} };
m_graphStatus = Loading;
+ DirectShowUtils::CoInitializeIfNeeded();
m_graph = com_new<IFilterGraph2>(CLSID_FilterGraph, iid_IFilterGraph2);
m_graphBuilder = com_new<ICaptureGraphBuilder2>(CLSID_CaptureGraphBuilder2, IID_ICaptureGraphBuilder2);
@@ -640,6 +641,7 @@ void DirectShowPlayerService::releaseGraph()
::SetEvent(m_taskHandle);
m_loop->wait(&m_mutex);
+ DirectShowUtils::CoUninitializeIfNeeded();
}
}
@@ -1436,6 +1438,9 @@ void DirectShowPlayerService::customEvent(QEvent *event)
if (m_playerControl->mediaStatus() == QMediaPlayer::EndOfMedia)
m_playerControl->updateStatus(QMediaPlayer::LoadedMedia);
m_playerControl->updatePosition(m_position);
+ // Emits only when seek has been performed.
+ if (m_videoRendererControl)
+ emit m_videoRendererControl->positionChanged(m_position);
} else {
QMediaService::customEvent(event);
}
diff --git a/src/plugins/directshow/player/directshowvideorenderercontrol.cpp b/src/plugins/directshow/player/directshowvideorenderercontrol.cpp
index 19be82141..0b1f0de2f 100644
--- a/src/plugins/directshow/player/directshowvideorenderercontrol.cpp
+++ b/src/plugins/directshow/player/directshowvideorenderercontrol.cpp
@@ -96,6 +96,7 @@ void DirectShowVideoRendererControl::setSurface(QAbstractVideoSurface *surface)
if (!qgetenv("QT_DIRECTSHOW_NO_EVR").toInt()) {
m_filter = com_new<IBaseFilter>(clsid_EnhancedVideoRenderer);
m_evrPresenter = new EVRCustomPresenter(m_surface);
+ connect(this, &DirectShowVideoRendererControl::positionChanged, m_evrPresenter, &EVRCustomPresenter::positionChanged);
if (!m_evrPresenter->isValid() || !qt_evr_setCustomPresenter(m_filter, m_evrPresenter)) {
m_filter->Release();
m_filter = nullptr;
diff --git a/src/plugins/directshow/player/directshowvideorenderercontrol.h b/src/plugins/directshow/player/directshowvideorenderercontrol.h
index dcbcadb4b..9326a2748 100644
--- a/src/plugins/directshow/player/directshowvideorenderercontrol.h
+++ b/src/plugins/directshow/player/directshowvideorenderercontrol.h
@@ -68,6 +68,7 @@ public:
Q_SIGNALS:
void filterChanged();
+ void positionChanged(qint64 position);
private:
DirectShowEventLoop *m_loop;
diff --git a/src/plugins/gstreamer/camerabin/camerabinv4limageprocessing.cpp b/src/plugins/gstreamer/camerabin/camerabinv4limageprocessing.cpp
index 46b9e4616..5b0c0d234 100644
--- a/src/plugins/gstreamer/camerabin/camerabinv4limageprocessing.cpp
+++ b/src/plugins/gstreamer/camerabin/camerabinv4limageprocessing.cpp
@@ -146,7 +146,7 @@ QVariant CameraBinV4LImageProcessing::parameter(
qt_safe_close(fd);
if (!ret) {
- qWarning() << "Unable to get the parameter value:" << qt_error_string(errno);
+ qWarning() << "Unable to get the parameter value:" << parameter << ":" << qt_error_string(errno);
return QVariant();
}
@@ -229,7 +229,7 @@ void CameraBinV4LImageProcessing::setParameter(
}
if (::ioctl(fd, VIDIOC_S_CTRL, &control) != 0)
- qWarning() << "Unable to set the parameter value:" << qt_error_string(errno);
+ qWarning() << "Unable to set the parameter value:" << parameter << ":" << qt_error_string(errno);
qt_safe_close(fd);
}
@@ -266,7 +266,8 @@ void CameraBinV4LImageProcessing::updateParametersInfo(
queryControl.id = supportedParametersEntries[i].cid;
if (::ioctl(fd, VIDIOC_QUERYCTRL, &queryControl) != 0) {
- qWarning() << "Unable to query the parameter info:" << qt_error_string(errno);
+ qWarning() << "Unable to query the parameter info:" << supportedParametersEntries[i].parameter
+ << ":" << qt_error_string(errno);
continue;
}
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreameravailabilitycontrol.h b/src/plugins/gstreamer/mediaplayer/qgstreameravailabilitycontrol.h
index 78299b608..e100fccc8 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstreameravailabilitycontrol.h
+++ b/src/plugins/gstreamer/mediaplayer/qgstreameravailabilitycontrol.h
@@ -57,7 +57,7 @@ private Q_SLOTS:
void handleAvailabilityChanged();
private:
- QMediaPlayerResourceSetInterface *m_resources;
+ QMediaPlayerResourceSetInterface *m_resources = nullptr;
};
QT_END_NAMESPACE
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamermetadataprovider.h b/src/plugins/gstreamer/mediaplayer/qgstreamermetadataprovider.h
index bf8f7e842..691453a42 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstreamermetadataprovider.h
+++ b/src/plugins/gstreamer/mediaplayer/qgstreamermetadataprovider.h
@@ -63,7 +63,7 @@ private slots:
void updateTags();
private:
- QGstreamerPlayerSession *m_session;
+ QGstreamerPlayerSession *m_session = nullptr;
QVariantMap m_tags;
};
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
index a28968145..4bf4a0a57 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
@@ -67,17 +67,8 @@
QT_BEGIN_NAMESPACE
-QGstreamerPlayerService::QGstreamerPlayerService(QObject *parent):
- QMediaService(parent)
- , m_audioProbeControl(0)
- , m_videoProbeControl(0)
- , m_videoOutput(0)
- , m_videoRenderer(0)
- , m_videoWindow(0)
-#if defined(HAVE_WIDGETS)
- , m_videoWidget(0)
-#endif
- , m_videoReferenceCount(0)
+QGstreamerPlayerService::QGstreamerPlayerService(QObject *parent)
+ : QMediaService(parent)
{
m_session = new QGstreamerPlayerSession(this);
m_control = new QGstreamerPlayerControl(m_session, this);
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.h b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.h
index ec0c0944b..f88f0ae38 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.h
+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.h
@@ -73,25 +73,25 @@ public:
void releaseControl(QMediaControl *control) override;
private:
- QGstreamerPlayerControl *m_control;
- QGstreamerPlayerSession *m_session;
- QGstreamerMetaDataProvider *m_metaData;
- QGstreamerStreamsControl *m_streamsControl;
- QGStreamerAvailabilityControl *m_availabilityControl;
+ QGstreamerPlayerControl *m_control = nullptr;
+ QGstreamerPlayerSession *m_session = nullptr;
+ QGstreamerMetaDataProvider *m_metaData = nullptr;
+ QGstreamerStreamsControl *m_streamsControl = nullptr;
+ QGStreamerAvailabilityControl *m_availabilityControl = nullptr;
- QGstreamerAudioProbeControl *m_audioProbeControl;
- QGstreamerVideoProbeControl *m_videoProbeControl;
+ QGstreamerAudioProbeControl *m_audioProbeControl = nullptr;
+ QGstreamerVideoProbeControl *m_videoProbeControl = nullptr;
- QMediaControl *m_videoOutput;
- QMediaControl *m_videoRenderer;
- QGstreamerVideoWindow *m_videoWindow;
+ QMediaControl *m_videoOutput = nullptr;
+ QMediaControl *m_videoRenderer = nullptr;
+ QGstreamerVideoWindow *m_videoWindow = nullptr;
#if defined(HAVE_WIDGETS)
- QGstreamerVideoWidgetControl *m_videoWidget;
+ QGstreamerVideoWidgetControl *m_videoWidget = nullptr;
#endif
void increaseVideoRef();
void decreaseVideoRef();
- int m_videoReferenceCount;
+ int m_videoReferenceCount = 0;
};
QT_END_NAMESPACE
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerstreamscontrol.h b/src/plugins/gstreamer/mediaplayer/qgstreamerstreamscontrol.h
index 6f332c160..41932095c 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstreamerstreamscontrol.h
+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerstreamscontrol.h
@@ -62,7 +62,7 @@ public:
void setActive(int streamNumber, bool state) override;
private:
- QGstreamerPlayerSession *m_session;
+ QGstreamerPlayerSession *m_session = nullptr;
};
QT_END_NAMESPACE
diff --git a/src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp b/src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp
index 5cb4689cc..40568d118 100644
--- a/src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp
+++ b/src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp
@@ -390,8 +390,8 @@ QAbstractVideoSurface *QDeclarativeVideoRendererBackend::videoSurface() const
QRectF QDeclarativeVideoRendererBackend::adjustedViewport() const
{
- const QRectF viewport = m_surface->surfaceFormat().viewport();
- const QSizeF pixelAspectRatio = m_surface->surfaceFormat().pixelAspectRatio();
+ const QRectF viewport = m_surfaceFormat.viewport();
+ const QSizeF pixelAspectRatio = m_surfaceFormat.pixelAspectRatio();
if (pixelAspectRatio.isValid()) {
const qreal ratio = pixelAspectRatio.width() / pixelAspectRatio.height();