summaryrefslogtreecommitdiffstats
path: root/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegplaybackengineobject_p.h
diff options
context:
space:
mode:
authorArtem Dyomin <artem.dyomin@qt.io>2023-07-07 22:00:45 +0200
committerArtem Dyomin <artem.dyomin@qt.io>2023-07-10 15:36:44 +0000
commitb586957c43cda273d54a71690e1abfca93aa264f (patch)
tree2c06df2be226fe621a217e8bc27b48ad8e42d37f /src/plugins/multimedia/ffmpeg/playbackengine/qffmpegplaybackengineobject_p.h
parent0d0ed1b411143141cfb42bb4299c7bd0085e04cb (diff)
Filter queued events from outdated objects in mediaplayer
The flakiness appeared in tests, the patch fixes it. The idea is having an unique id for each playback engine object and filter some events by id. Pick-to: 6.6 6.5 Change-Id: I59dda5dabc4e5485b401463b96ec06cdb8100aad Reviewed-by: Artem Dyomin <artem.dyomin@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/plugins/multimedia/ffmpeg/playbackengine/qffmpegplaybackengineobject_p.h')
-rw-r--r--src/plugins/multimedia/ffmpeg/playbackengine/qffmpegplaybackengineobject_p.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegplaybackengineobject_p.h b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegplaybackengineobject_p.h
index 48a14d0ca..410713b9e 100644
--- a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegplaybackengineobject_p.h
+++ b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegplaybackengineobject_p.h
@@ -30,6 +30,9 @@ class PlaybackEngineObject : public QObject
public:
using TimePoint = std::chrono::steady_clock::time_point;
using TimePointOpt = std::optional<TimePoint>;
+ using Id = quint64;
+
+ PlaybackEngineObject();
bool isPaused() const;
@@ -39,6 +42,8 @@ public:
void setPaused(bool isPaused);
+ Id id() const;
+
signals:
void atEnd();
@@ -65,6 +70,7 @@ private:
std::atomic_bool m_paused = true;
std::atomic_bool m_atEnd = false;
std::atomic_bool m_deleting = false;
+ const Id m_id;
};
} // namespace QFFmpeg