summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtem Dyomin <artem.dyomin@qt.io>2024-05-03 10:29:23 +0200
committerArtem Dyomin <artem.dyomin@qt.io>2024-05-03 13:56:12 +0200
commit27a8ab8823210192b8018623762a281770479a60 (patch)
treea5c44dfbb5bdb1a44b2a4753ad96d291d32a99ef
parent1d962ce5193d9a79eb23010eaa72f6b7a6fd991e (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.cpp5
-rw-r--r--src/plugins/multimedia/ffmpeg/recordingengine/qffmpegmuxer_p.h1
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;