8#include <qcameradevice.h>
13 : QPlatformCamera(camera)
17QWindowsCamera::~QWindowsCamera() =
default;
26 if (m_active == active)
28 if (m_cameraDevice.isNull() && active)
31 if (m_mediaDeviceSession)
34 emit activeChanged(m_active);
39 if (m_cameraDevice == camera)
41 m_cameraDevice = camera;
42 if (m_mediaDeviceSession)
49 if (m_captureService == captureService)
52 if (m_mediaDeviceSession) {
53 m_mediaDeviceSession->disconnect(
this);
55 m_mediaDeviceSession->setCameraFormat({});
59 m_captureService = captureService;
60 if (!m_captureService) {
61 m_mediaDeviceSession =
nullptr;
66 Q_ASSERT(m_mediaDeviceSession);
69 m_mediaDeviceSession->setActiveCamera(m_cameraDevice);
70 m_mediaDeviceSession->setCameraFormat(m_cameraFormat);
73 connect(m_mediaDeviceSession, &QWindowsMediaDeviceSession::activeChanged,
74 this, &QWindowsCamera::onActiveChanged);
79 if (!format.isNull() && !m_cameraDevice.videoFormats().contains(format))
82 m_cameraFormat = format.isNull() ? findBestCameraFormat(m_cameraDevice) : format;
84 if (m_mediaDeviceSession)
85 m_mediaDeviceSession->setCameraFormat(m_cameraFormat);
91 if (m_active == active)
93 if (m_cameraDevice.isNull() && active)
96 emit activeChanged(m_active);
101#include "moc_qwindowscamera_p.cpp"
The QCamera class provides interface for system camera devices.
bool setCameraFormat(const QCameraFormat &) override
bool isActive() const override
void setActive(bool active) override