diff options
Diffstat (limited to 'src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder.cpp')
-rw-r--r-- | src/multimedia/platform/windows/mediacapture/qwindowsmediaencoder.cpp | 9 |
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); + } } |