diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-03-01 16:51:18 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-03-16 07:41:30 +0000 |
commit | e7702afc9dfa6e69b1b05d68a38248ccc6b6dd87 (patch) | |
tree | 8d8cfbd6b2ac894dcbb250d9084c7cff099a0b65 /examples | |
parent | 7ac9e201ab41f76763477821216665d474ce5ec6 (diff) |
Simplify state handling in QCamera and QMediaRecorder
Remove the loaded/unloaded states. Instead simply have
a boolean indicating whether the camera is active.
Change-Id: I1dad15f2c4f2f606f6d64320cea3763d1213a09b
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/multimedia/audiorecorder/audiorecorder.cpp | 3 | ||||
-rw-r--r-- | examples/multimediawidgets/camera/camera.cpp | 16 | ||||
-rw-r--r-- | examples/multimediawidgets/camera/camera.h | 2 |
3 files changed, 7 insertions, 14 deletions
diff --git a/examples/multimedia/audiorecorder/audiorecorder.cpp b/examples/multimedia/audiorecorder/audiorecorder.cpp index 93913a23b..8bd0cdfc6 100644 --- a/examples/multimedia/audiorecorder/audiorecorder.cpp +++ b/examples/multimedia/audiorecorder/audiorecorder.cpp @@ -147,8 +147,7 @@ void AudioRecorder::updateStatus(QMediaRecorder::Status status) clearAudioLevels(); statusMessage = tr("Paused"); break; - case QMediaRecorder::UnloadedStatus: - case QMediaRecorder::LoadedStatus: + case QMediaRecorder::StoppedStatus: clearAudioLevels(); statusMessage = tr("Stopped"); default: diff --git a/examples/multimediawidgets/camera/camera.cpp b/examples/multimediawidgets/camera/camera.cpp index a06391c8f..b8fd7c4d5 100644 --- a/examples/multimediawidgets/camera/camera.cpp +++ b/examples/multimediawidgets/camera/camera.cpp @@ -105,7 +105,7 @@ void Camera::setCamera(const QCameraInfo &cameraInfo) { m_camera.reset(new QCamera(cameraInfo)); - connect(m_camera.data(), &QCamera::stateChanged, this, &Camera::updateCameraState); + connect(m_camera.data(), &QCamera::activeChanged, this, &Camera::updateCameraActive); connect(m_camera.data(), &QCamera::errorOccurred, this, &Camera::displayCameraError); m_mediaRecorder.reset(new QMediaRecorder(m_camera.data())); @@ -121,7 +121,7 @@ void Camera::setCamera(const QCameraInfo &cameraInfo) m_camera->setViewfinder(ui->viewfinder); - updateCameraState(m_camera->state()); + updateCameraActive(m_camera->isActive()); updateRecorderState(m_mediaRecorder->state()); connect(m_imageCapture, &QCameraImageCapture::readyForCaptureChanged, this, &Camera::readyForCapture); @@ -204,9 +204,6 @@ void Camera::configureVideoSettings() m_encoderSettings = settingsDialog.encoderSettings(); m_mediaRecorder->setEncoderSettings(m_encoderSettings); - - m_camera->unload(); - m_camera->start(); } } @@ -274,17 +271,14 @@ void Camera::updateCaptureMode() m_doImageCapture = (tabIndex == 0); } -void Camera::updateCameraState(QCamera::State state) +void Camera::updateCameraActive(bool active) { - switch (state) { - case QCamera::ActiveState: + if (active) { ui->actionStartCamera->setEnabled(false); ui->actionStopCamera->setEnabled(true); ui->captureWidget->setEnabled(true); ui->actionSettings->setEnabled(true); - break; - case QCamera::UnloadedState: - case QCamera::LoadedState: + } else { ui->actionStartCamera->setEnabled(true); ui->actionStopCamera->setEnabled(false); ui->captureWidget->setEnabled(false); diff --git a/examples/multimediawidgets/camera/camera.h b/examples/multimediawidgets/camera/camera.h index 7f7aae9a4..8b8968142 100644 --- a/examples/multimediawidgets/camera/camera.h +++ b/examples/multimediawidgets/camera/camera.h @@ -99,7 +99,7 @@ private slots: void updateCameraDevice(QAction *action); - void updateCameraState(QCamera::State); + void updateCameraActive(bool active); void updateCaptureMode(); void updateRecorderState(QMediaRecorder::State state); void setExposureCompensation(int index); |