diff options
Diffstat (limited to 'src')
99 files changed, 264 insertions, 312 deletions
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 023c13008..5731cf5be 100644 --- a/src/multimedia/qmediaserviceprovider.cpp +++ b/src/multimedia/qmediaserviceprovider.cpp @@ -85,6 +85,7 @@ public: /*! \class QMediaServiceProviderHint + \obsolete \brief The QMediaServiceProviderHint class describes what is required of a QMediaService. @@ -670,6 +671,7 @@ Q_GLOBAL_STATIC(QPluginServiceProvider, pluginProvider); /*! \class QMediaServiceProvider + \obsolete \ingroup multimedia \ingroup multimedia_control \ingroup multimedia_core @@ -827,6 +829,7 @@ QMediaServiceProvider *QMediaServiceProvider::defaultServiceProvider() /*! \class QMediaServiceProviderPlugin + \obsolete \inmodule QtMultimedia \brief The QMediaServiceProviderPlugin class interface provides an interface for QMediaService plug-ins. @@ -854,6 +857,7 @@ QMediaServiceProvider *QMediaServiceProvider::defaultServiceProvider() /*! \class QMediaServiceSupportedFormatsInterface + \obsolete \inmodule QtMultimedia \brief The QMediaServiceSupportedFormatsInterface class interface identifies if a media service plug-in supports a media format. @@ -882,6 +886,7 @@ QMediaServiceProvider *QMediaServiceProvider::defaultServiceProvider() /*! \class QMediaServiceSupportedDevicesInterface + \obsolete \inmodule QtMultimedia \brief The QMediaServiceSupportedDevicesInterface class interface identifies the devices supported by a media service plug-in. @@ -909,6 +914,7 @@ QMediaServiceProvider *QMediaServiceProvider::defaultServiceProvider() /*! \class QMediaServiceDefaultDeviceInterface + \obsolete \inmodule QtMultimedia \brief The QMediaServiceDefaultDeviceInterface class interface identifies the default device used by a media service plug-in. @@ -932,6 +938,7 @@ QMediaServiceProvider *QMediaServiceProvider::defaultServiceProvider() /*! \class QMediaServiceCameraInfoInterface + \obsolete \inmodule QtMultimedia \since 5.3 \brief The QMediaServiceCameraInfoInterface class interface @@ -961,6 +968,7 @@ QMediaServiceProvider *QMediaServiceProvider::defaultServiceProvider() /*! \class QMediaServiceFeaturesInterface + \obsolete \inmodule QtMultimedia \brief The QMediaServiceFeaturesInterface class interface identifies features supported by a media service plug-in. @@ -979,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/qmediaserviceproviderplugin.h b/src/multimedia/qmediaserviceproviderplugin.h index 9afb4f4cd..6447e319a 100644 --- a/src/multimedia/qmediaserviceproviderplugin.h +++ b/src/multimedia/qmediaserviceproviderplugin.h @@ -50,8 +50,6 @@ # pragma Q_MOC_EXPAND_MACROS #endif -#if QT_DEPRECATED_SINCE(5, 14) - QT_BEGIN_NAMESPACE // Required for QDoc workaround @@ -254,5 +252,4 @@ public: QT_END_NAMESPACE -#endif // #if QT_DEPRECATED_SINCE(5, 14) #endif // QMEDIASERVICEPROVIDERPLUGIN_H 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(); |