summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-03-01 16:51:18 +0100
committerLars Knoll <lars.knoll@qt.io>2021-03-16 07:41:30 +0000
commite7702afc9dfa6e69b1b05d68a38248ccc6b6dd87 (patch)
tree8d8cfbd6b2ac894dcbb250d9084c7cff099a0b65 /examples
parent7ac9e201ab41f76763477821216665d474ce5ec6 (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.cpp3
-rw-r--r--examples/multimediawidgets/camera/camera.cpp16
-rw-r--r--examples/multimediawidgets/camera/camera.h2
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);