summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2019-07-11 09:59:23 +0200
committerMarc Mutz <marc.mutz@kdab.com>2019-07-11 15:35:37 +0200
commit10c080521c525e1729b23dfa0afd08a1428f40d0 (patch)
tree851fa40f8dbee496826f0134a44e3dcd2a589a19 /src
parent6dc5f327adfa987d2c03db3506c761d77a62e013 (diff)
Eradicate the last Q_FOREACH and mark the module clean
This one is not trivial in that it isn't clear, a priori, that the loop body doesn't re-enter the class and ends up modifying m_videoProbes. But MFVideoProbeControl::bufferProbed() just schedules a deferred call to QMediaVideoProbeControl::videoFrameProbed() (via QueuedConnection), so this cannot happen, because we end the loop before we re-enter the event loop (if any) on this thread. Reentrancy from a different thread, OTOH, is not possible because we're holding m_videoProbeMutex while looping. Change-Id: I6c1e22cd01112f0b2650e056f0b7f4a392370b84 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/wmf/player/mftvideo.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/plugins/wmf/player/mftvideo.cpp b/src/plugins/wmf/player/mftvideo.cpp
index 747fe6aea..879911d55 100644
--- a/src/plugins/wmf/player/mftvideo.cpp
+++ b/src/plugins/wmf/player/mftvideo.cpp
@@ -573,7 +573,7 @@ STDMETHODIMP MFTransform::ProcessOutput(DWORD dwFlags, DWORD cOutputBufferCount,
if (!m_videoProbes.isEmpty()) {
QVideoFrame frame = makeVideoFrame();
- foreach (MFVideoProbeControl* probe, m_videoProbes)
+ for (MFVideoProbeControl* probe : qAsConst(m_videoProbes))
probe->bufferProbed(frame);
}
m_videoProbeMutex.unlock();