diff options
| author | Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> | 2010-08-04 13:30:46 +1000 |
|---|---|---|
| committer | Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> | 2010-08-04 13:37:39 +1000 |
| commit | e01996a8b4a5dfb9f8d3a6c39e475eb32c2f105c (patch) | |
| tree | 98e98980d1eb8eed5a07b2f13715432d62267cd2 /examples/camera/camera.cpp | |
| parent | 41161a4dade49d2816368252a4482b8cad158692 (diff) | |
Separated QCamera::state to QCamera::state and QCamera::status.
QCamera::state changes are synchronous and reflect user input/intention
while QCamera::status is asynchronous and used to notify application
about internal state of backend.
Diffstat (limited to 'examples/camera/camera.cpp')
| -rw-r--r-- | examples/camera/camera.cpp | 36 |
1 files changed, 7 insertions, 29 deletions
diff --git a/examples/camera/camera.cpp b/examples/camera/camera.cpp index 412ee6eb19..540d64e5e4 100644 --- a/examples/camera/camera.cpp +++ b/examples/camera/camera.cpp @@ -132,6 +132,7 @@ void Camera::setCamera(const QByteArray &cameraDevice) this, SLOT(updateLockStatus(QCamera::LockStatus, QCamera::LockChangeReason))); updateCaptureMode(); + camera->start(); } void Camera::updateRecordTime() @@ -177,12 +178,7 @@ void Camera::configureVideoSettings() videoSettings = settingsDialog.videoSettings(); videoContainerFormat = settingsDialog.format(); - //apply video settings immediately if camera is in the Idle state, - //otherwise request state change to Idle with setCaptureMode - if (camera->state() != QCamera::IdleState) - camera->setCaptureMode(QCamera::CaptureVideo); - else - mediaRecorder->setEncodingSettings( + mediaRecorder->setEncodingSettings( audioSettings, videoSettings, videoContainerFormat); @@ -197,13 +193,7 @@ void Camera::configureImageSettings() if (settingsDialog.exec()) { imageSettings = settingsDialog.imageSettings(); - - //apply image settings immediately if camera is in the Idle state, - //otherwise request state change to Idle with setCaptureMode - if (camera->state() != QCamera::IdleState) - camera->setCaptureMode(QCamera::CaptureStillImage); - else - imageCapture->setEncodingSettings(imageSettings); + imageCapture->setEncodingSettings(imageSettings); } } @@ -270,8 +260,7 @@ void Camera::takeImage() void Camera::startCamera() { - //start still image or video capture - updateCaptureMode(); + camera->start(); } void Camera::stopCamera() @@ -288,26 +277,15 @@ void Camera::updateCaptureMode() void Camera::updateCameraState(QCamera::State state) { - switch (state) { - case QCamera::IdleState: - if (camera->captureMode() == QCamera::CaptureVideo) { - mediaRecorder->setEncodingSettings( - audioSettings, - videoSettings, - videoContainerFormat); - } else if (camera->captureMode() == QCamera::CaptureStillImage) { - imageCapture->setEncodingSettings(imageSettings); - } - - camera->start(); - //fall + switch (state) { case QCamera::ActiveState: ui->actionStartCamera->setEnabled(false); ui->actionStopCamera->setEnabled(true); ui->captureWidget->setEnabled(true); ui->actionSettings->setEnabled(true); break; - case QCamera::StoppedState: + case QCamera::UnloadedState: + case QCamera::LoadedState: ui->actionStartCamera->setEnabled(true); ui->actionStopCamera->setEnabled(false); ui->captureWidget->setEnabled(false); |
