diff options
Diffstat (limited to 'src/multimedia/platform/windows/mediacapture/qwindowscamera.cpp')
-rw-r--r-- | src/multimedia/platform/windows/mediacapture/qwindowscamera.cpp | 29 |
1 files changed, 5 insertions, 24 deletions
diff --git a/src/multimedia/platform/windows/mediacapture/qwindowscamera.cpp b/src/multimedia/platform/windows/mediacapture/qwindowscamera.cpp index 8be1ab1e1..d5e8ecc97 100644 --- a/src/multimedia/platform/windows/mediacapture/qwindowscamera.cpp +++ b/src/multimedia/platform/windows/mediacapture/qwindowscamera.cpp @@ -68,28 +68,6 @@ void QWindowsCamera::setActive(bool active) m_mediaDeviceSession->setActive(active); emit activeChanged(m_active); - updateStatus(); -} - -QCamera::Status QWindowsCamera::status() const -{ - if (!m_mediaDeviceSession) - return QCamera::InactiveStatus; - - if (m_active) - return m_mediaDeviceSession->isActive() ? QCamera::ActiveStatus : QCamera::StartingStatus; - - return m_mediaDeviceSession->isActive() ? QCamera::StoppingStatus : QCamera::InactiveStatus; -} - -void QWindowsCamera::updateStatus() -{ - QCamera::Status newStatus = status(); - - if (m_lastStatus != newStatus) { - m_lastStatus = newStatus; - statusChanged(m_lastStatus); - } } void QWindowsCamera::setCamera(const QCameraDevice &camera) @@ -107,8 +85,11 @@ void QWindowsCamera::setCaptureSession(QPlatformMediaCaptureSession *session) if (m_captureService == captureService) return; - if (m_mediaDeviceSession) + if (m_mediaDeviceSession) { m_mediaDeviceSession->setActive(false); + m_mediaDeviceSession->setCameraFormat({}); + m_mediaDeviceSession->setActiveCamera({}); + } m_captureService = captureService; if (!m_captureService) { @@ -118,7 +99,7 @@ void QWindowsCamera::setCaptureSession(QPlatformMediaCaptureSession *session) m_mediaDeviceSession = m_captureService->session(); Q_ASSERT(m_mediaDeviceSession); - connect(m_mediaDeviceSession, SIGNAL(activeChanged(bool)), SLOT(updateStatus())); + connect(m_mediaDeviceSession, SIGNAL(activeChanged(bool)), SLOT(setActive(bool))); m_mediaDeviceSession->setActiveCamera(m_cameraDevice); m_mediaDeviceSession->setCameraFormat(m_cameraFormat); |