summaryrefslogtreecommitdiffstats
path: root/src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder.cpp')
-rw-r--r--src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder.cpp b/src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder.cpp
index ee2ba3c6a..8f5daf819 100644
--- a/src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder.cpp
+++ b/src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder.cpp
@@ -81,7 +81,7 @@ void QWindowsMediaEncoder::record(QMediaEncoderSettings &settings)
if (m_state != QMediaRecorder::StoppedState)
return;
- m_sessionWasActive = m_mediaDeviceSession->isActive();
+ m_sessionWasActive = m_mediaDeviceSession->isActive() || m_mediaDeviceSession->isActivating();
if (!m_sessionWasActive) {
@@ -140,10 +140,11 @@ void QWindowsMediaEncoder::resume()
void QWindowsMediaEncoder::stop()
{
- if (m_mediaDeviceSession && m_state != QMediaRecorder::StoppedState)
+ if (m_mediaDeviceSession && m_state != QMediaRecorder::StoppedState) {
m_mediaDeviceSession->stopRecording();
- if (!m_sessionWasActive)
- m_mediaDeviceSession->setActive(false);
+ if (!m_sessionWasActive)
+ m_mediaDeviceSession->setActive(false);
+ }
}