diff options
author | Artem Dyomin <artem.dyomin@qt.io> | 2024-05-03 10:29:23 +0200 |
---|---|---|
committer | Artem Dyomin <artem.dyomin@qt.io> | 2024-05-03 13:56:12 +0200 |
commit | 27a8ab8823210192b8018623762a281770479a60 (patch) | |
tree | a5c44dfbb5bdb1a44b2a4753ad96d291d32a99ef | |
parent | 1d962ce5193d9a79eb23010eaa72f6b7a6fd991e (diff) |
Use loop data mutex in muxer
The CR fixes consistency of usage conditional variable
with mutex.
The CR amends de8e329db579930b0f5c275a28399f5c5acb09e4
Pick-to: 6.7 6.5
Change-Id: Ifba6c909939f00c54c264c0f422472b8cf282d24
Reviewed-by: Tim Blechmann <tim@klingt.org>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
-rw-r--r-- | src/plugins/multimedia/ffmpeg/recordingengine/qffmpegmuxer.cpp | 5 | ||||
-rw-r--r-- | src/plugins/multimedia/ffmpeg/recordingengine/qffmpegmuxer_p.h | 1 |
2 files changed, 2 insertions, 4 deletions
diff --git a/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegmuxer.cpp b/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegmuxer.cpp index 6367dde3b..8d5ca420a 100644 --- a/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegmuxer.cpp +++ b/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegmuxer.cpp @@ -18,7 +18,7 @@ Muxer::Muxer(RecordingEngine *encoder) : m_encoder(encoder) void Muxer::addPacket(AVPacketUPtr packet) { { - QMutexLocker locker(&m_queueMutex); + QMutexLocker locker = lockLoopData(); m_packetQueue.push(std::move(packet)); } @@ -28,7 +28,7 @@ void Muxer::addPacket(AVPacketUPtr packet) AVPacketUPtr Muxer::takePacket() { - QMutexLocker locker(&m_queueMutex); + QMutexLocker locker = lockLoopData(); return dequeueIfPossible(m_packetQueue); } @@ -41,7 +41,6 @@ void Muxer::cleanup() { } bool QFFmpeg::Muxer::hasData() const { - QMutexLocker locker(&m_queueMutex); return !m_packetQueue.empty(); } diff --git a/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegmuxer_p.h b/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegmuxer_p.h index 8cdf73c6f..4f8f4d27a 100644 --- a/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegmuxer_p.h +++ b/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegmuxer_p.h @@ -29,7 +29,6 @@ private: void processOne() override; private: - mutable QMutex m_queueMutex; std::queue<AVPacketUPtr> m_packetQueue; RecordingEngine *m_encoder; |