diff options
author | Tim Blechmann <tim@klingt.org> | 2024-04-23 15:53:19 +0800 |
---|---|---|
committer | Tim Blechmann <tim@klingt.org> | 2024-04-24 09:53:58 +0800 |
commit | ffc6dda55193d2cab8f2ea471198508ee56eb61d (patch) | |
tree | c686fa7d63fad238820de9bc1679065d600fe4bd | |
parent | 11fcea0fbe1d07e02067babcb0313c0cef39d57a (diff) |
GStreamer: avoid moc
We only need to derive from QObject for the purpose of memory
management, but we don't necessarily use slots, since we can use a
lambda function to connect the progress timer
Pick-to: 6.5 6.7
Change-Id: I4711748efd407fcff9d3e0b2efb0a7843fa72a83
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
-rw-r--r-- | src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer.cpp | 20 | ||||
-rw-r--r-- | src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer_p.h | 3 |
2 files changed, 10 insertions, 13 deletions
diff --git a/src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer.cpp b/src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer.cpp index ddd0ba31d..a08f7f278 100644 --- a/src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer.cpp +++ b/src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer.cpp @@ -139,7 +139,9 @@ QGstreamerMediaPlayer::QGstreamerMediaPlayer(QGstreamerVideoOutput *videoOutput, gst_pipeline_use_clock(playerPipeline.pipeline(), systemClock.get()); - connect(&positionUpdateTimer, &QTimer::timeout, this, &QGstreamerMediaPlayer::updatePosition); + connect(&positionUpdateTimer, &QTimer::timeout, this, [this] { + updatePosition(); + }); } QGstreamerMediaPlayer::~QGstreamerMediaPlayer() @@ -391,20 +393,20 @@ bool QGstreamerMediaPlayer::processBusMessage(const QGstreamerMessage &message) if (errorDomain == GST_STREAM_ERROR) { if (errorCode == GST_STREAM_ERROR_CODEC_NOT_FOUND) - emit error(QMediaPlayer::FormatError, tr("Cannot play stream of type: <unknown>")); + error(QMediaPlayer::FormatError, tr("Cannot play stream of type: <unknown>")); else { - emit error(QMediaPlayer::FormatError, QString::fromUtf8(err.get()->message)); + error(QMediaPlayer::FormatError, QString::fromUtf8(err.get()->message)); } } else if (errorDomain == GST_RESOURCE_ERROR) { if (errorCode == GST_RESOURCE_ERROR_NOT_FOUND) { if (m_resourceErrorState != ResourceErrorState::ErrorReported) { // gstreamer seems to deliver multiple GST_RESOURCE_ERROR_NOT_FOUND events - emit error(QMediaPlayer::ResourceError, QString::fromUtf8(err.get()->message)); + error(QMediaPlayer::ResourceError, QString::fromUtf8(err.get()->message)); m_resourceErrorState = ResourceErrorState::ErrorReported; m_url.clear(); } } else { - emit error(QMediaPlayer::ResourceError, QString::fromUtf8(err.get()->message)); + error(QMediaPlayer::ResourceError, QString::fromUtf8(err.get()->message)); } } else { playerPipeline.dumpGraph("error"); @@ -753,14 +755,14 @@ void QGstreamerMediaPlayer::setMedia(const QUrl &content, QIODevice *stream) if (maybeAppSrc) { m_appSrc = maybeAppSrc.value(); } else { - emit error(QMediaPlayer::ResourceError, maybeAppSrc.error()); + error(QMediaPlayer::ResourceError, maybeAppSrc.error()); return; } } src = m_appSrc->element(); decoder = QGstElement::createFromFactory("decodebin", "decoder"); if (!decoder) { - emit error(QMediaPlayer::ResourceError, errorMessageCannotFindElement("decodebin")); + error(QMediaPlayer::ResourceError, errorMessageCannotFindElement("decodebin")); return; } decoder.set("post-stream-topology", true); @@ -777,7 +779,7 @@ void QGstreamerMediaPlayer::setMedia(const QUrl &content, QIODevice *stream) // use uridecodebin decoder = QGstElement::createFromFactory("uridecodebin", "decoder"); if (!decoder) { - emit error(QMediaPlayer::ResourceError, errorMessageCannotFindElement("uridecodebin")); + error(QMediaPlayer::ResourceError, errorMessageCannotFindElement("uridecodebin")); return; } playerPipeline.add(decoder); @@ -987,5 +989,3 @@ void QGstreamerMediaPlayer::setActiveTrack(TrackType type, int index) } QT_END_NAMESPACE - -#include "moc_qgstreamermediaplayer_p.cpp" diff --git a/src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer_p.h b/src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer_p.h index 3b2129296..b53472b54 100644 --- a/src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer_p.h +++ b/src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer_p.h @@ -40,8 +40,6 @@ class QGstreamerMediaPlayer : public QObject, public QGstreamerBusMessageFilter, public QGstreamerSyncMessageFilter { - Q_OBJECT - public: static QMaybe<QPlatformMediaPlayer *> create(QMediaPlayer *parent = nullptr); ~QGstreamerMediaPlayer(); @@ -83,7 +81,6 @@ public: bool processBusMessage(const QGstreamerMessage& message) override; bool processSyncMessage(const QGstreamerMessage& message) override; -public Q_SLOTS: void updatePosition() { positionChanged(position()); } private: |