diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-01-22 13:50:49 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-01-29 08:51:41 +0000 |
commit | a32a5a2fc32441c402ddb67d893442c96c8fee0c (patch) | |
tree | d093229c194b6e107a7906df446d21f4f2c2e7d4 /examples | |
parent | c4eee3b6ccd4dfd861f6a9345970a7cfc8d8b833 (diff) |
Make camera switching in the camera example work
Tested on macOS: If you have more than one camera installed, you
can now switch between them in the example.
Change-Id: I6d24c91e1e6c4d51eccc468ec9d5aefa46d9a99c
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/multimediawidgets/camera/camera.cpp | 12 | ||||
-rw-r--r-- | examples/multimediawidgets/camera/camera.h | 2 |
2 files changed, 7 insertions, 7 deletions
diff --git a/examples/multimediawidgets/camera/camera.cpp b/examples/multimediawidgets/camera/camera.cpp index 828da2236..196b8ba84 100644 --- a/examples/multimediawidgets/camera/camera.cpp +++ b/examples/multimediawidgets/camera/camera.cpp @@ -102,7 +102,7 @@ void Camera::setCamera(const QCameraInfo &cameraInfo) m_mediaRecorder.reset(new QMediaRecorder(m_camera.data())); connect(m_mediaRecorder.data(), &QMediaRecorder::stateChanged, this, &Camera::updateRecorderState); - m_imageCapture.reset(new QCameraImageCapture(m_camera.data())); + m_imageCapture = new QCameraImageCapture(m_camera.data()); connect(m_mediaRecorder.data(), &QMediaRecorder::durationChanged, this, &Camera::updateRecordTime); connect(m_mediaRecorder.data(), QOverload<QMediaRecorder::Error>::of(&QMediaRecorder::error), @@ -118,10 +118,10 @@ void Camera::setCamera(const QCameraInfo &cameraInfo) updateLockStatus(m_camera->lockStatus(), QCamera::UserRequest); updateRecorderState(m_mediaRecorder->state()); - connect(m_imageCapture.data(), &QCameraImageCapture::readyForCaptureChanged, this, &Camera::readyForCapture); - connect(m_imageCapture.data(), &QCameraImageCapture::imageCaptured, this, &Camera::processCapturedImage); - connect(m_imageCapture.data(), &QCameraImageCapture::imageSaved, this, &Camera::imageSaved); - connect(m_imageCapture.data(), QOverload<int, QCameraImageCapture::Error, const QString &>::of(&QCameraImageCapture::error), + connect(m_imageCapture, &QCameraImageCapture::readyForCaptureChanged, this, &Camera::readyForCapture); + connect(m_imageCapture, &QCameraImageCapture::imageCaptured, this, &Camera::processCapturedImage); + connect(m_imageCapture, &QCameraImageCapture::imageSaved, this, &Camera::imageSaved); + connect(m_imageCapture, QOverload<int, QCameraImageCapture::Error, const QString &>::of(&QCameraImageCapture::error), this, &Camera::displayCaptureError); connect(m_camera.data(), QOverload<QCamera::LockStatus, QCamera::LockChangeReason>::of(&QCamera::lockStatusChanged), @@ -235,7 +235,7 @@ void Camera::configureVideoSettings() void Camera::configureImageSettings() { - ImageSettings settingsDialog(m_imageCapture.data()); + ImageSettings settingsDialog(m_imageCapture); settingsDialog.setWindowFlags(settingsDialog.windowFlags() & ~Qt::WindowContextHelpButtonHint); settingsDialog.setImageSettings(m_imageSettings); diff --git a/examples/multimediawidgets/camera/camera.h b/examples/multimediawidgets/camera/camera.h index d06c770f6..bdef8b8f8 100644 --- a/examples/multimediawidgets/camera/camera.h +++ b/examples/multimediawidgets/camera/camera.h @@ -118,7 +118,7 @@ private: Ui::Camera *ui; QScopedPointer<QCamera> m_camera; - QScopedPointer<QCameraImageCapture> m_imageCapture; + QCameraImageCapture *m_imageCapture; QScopedPointer<QMediaRecorder> m_mediaRecorder; QImageEncoderSettings m_imageSettings; |