summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-02-10 16:15:46 +0100
committerLars Knoll <lars.knoll@qt.io>2021-02-17 08:26:40 +0000
commitf2607d51bba3076e51ff9f67cdbcee793c4f54d0 (patch)
tree947471211fbb2732dcbdbbe5cff3d5fc8505dd66
parenta8eb585f239c2e5c0a5fed8a1a279fbd076c8446 (diff)
Get rid of QCamera::CaptureMode
Whether we capture still images or Video should only depend on the outputs we have attached to the camera (QMediaRecoder and QCameraImageCapture). There's no need for a separate enum here. Change-Id: I852f5c752abd1184680ca868cb90e995d6d68b27 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r--examples/multimedia/declarative-camera/declarative-camera.qml3
-rw-r--r--examples/multimediawidgets/camera/camera.cpp20
-rw-r--r--examples/multimediawidgets/camera/camera.h1
-rw-r--r--src/imports/multimedia/qdeclarativecamera.cpp31
-rw-r--r--src/imports/multimedia/qdeclarativecamera_p.h14
-rw-r--r--src/multimedia/camera/qcamera.cpp60
-rw-r--r--src/multimedia/camera/qcamera.h16
-rw-r--r--src/multimedia/camera/qcamerafocus.cpp10
-rw-r--r--src/multimedia/camera/qcameraimagecapture.cpp2
-rw-r--r--src/multimedia/controls/qcameracontrol.cpp33
-rw-r--r--src/multimedia/controls/qcameracontrol.h6
-rw-r--r--src/multimedia/platform/android/mediacapture/qandroidcameracontrol.cpp19
-rw-r--r--src/multimedia/platform/android/mediacapture/qandroidcameracontrol_p.h4
-rw-r--r--src/multimedia/platform/android/mediacapture/qandroidcamerafocuscontrol.cpp27
-rw-r--r--src/multimedia/platform/android/mediacapture/qandroidcamerasession.cpp35
-rw-r--r--src/multimedia/platform/android/mediacapture/qandroidcamerasession_p.h6
-rw-r--r--src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp7
-rw-r--r--src/multimedia/platform/darwin/camera/avfcameracontrol.mm31
-rw-r--r--src/multimedia/platform/darwin/camera/avfcameracontrol_p.h5
-rw-r--r--src/multimedia/platform/darwin/camera/avfcamerasession.mm16
-rw-r--r--src/multimedia/platform/darwin/camera/avfcamerasession_p.h2
-rw-r--r--src/multimedia/platform/darwin/camera/avfimagecapturecontrol.mm15
-rw-r--r--src/multimedia/platform/darwin/camera/avfmediarecordercontrol.mm15
-rw-r--r--src/multimedia/platform/darwin/camera/avfmediarecordercontrol_ios.mm23
-rw-r--r--src/multimedia/platform/darwin/camera/avfmediarecordercontrol_ios_p.h1
-rw-r--r--src/multimedia/platform/darwin/camera/avfstoragelocation.mm6
-rw-r--r--src/multimedia/platform/darwin/camera/avfstoragelocation_p.h9
-rw-r--r--src/multimedia/platform/gstreamer/camerabin/camerabincontrol.cpp19
-rw-r--r--src/multimedia/platform/gstreamer/camerabin/camerabincontrol_p.h4
-rw-r--r--src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol.cpp34
-rw-r--r--src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol_p.h6
-rw-r--r--src/multimedia/recording/qmediarecorder.cpp2
-rw-r--r--tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp84
-rw-r--r--tests/auto/unit/mockbackend/mockcameracontrol.h20
-rw-r--r--tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp149
-rw-r--r--tests/auto/unit/multimediawidgets/qcamerawidgets/tst_qcamerawidgets.cpp94
36 files changed, 69 insertions, 760 deletions
diff --git a/examples/multimedia/declarative-camera/declarative-camera.qml b/examples/multimedia/declarative-camera/declarative-camera.qml
index 87dee35f3..29640b82b 100644
--- a/examples/multimedia/declarative-camera/declarative-camera.qml
+++ b/examples/multimedia/declarative-camera/declarative-camera.qml
@@ -65,7 +65,6 @@ Rectangle {
name: "PhotoCapture"
StateChangeScript {
script: {
- camera.captureMode = Camera.CaptureStillImage
camera.start()
}
}
@@ -77,7 +76,6 @@ Rectangle {
name: "VideoCapture"
StateChangeScript {
script: {
- camera.captureMode = Camera.CaptureVideo
camera.start()
}
}
@@ -94,7 +92,6 @@ Rectangle {
Camera {
id: camera
- captureMode: Camera.CaptureStillImage
imageCapture {
onImageCaptured: {
diff --git a/examples/multimediawidgets/camera/camera.cpp b/examples/multimediawidgets/camera/camera.cpp
index 014c07fc0..28f4f5071 100644
--- a/examples/multimediawidgets/camera/camera.cpp
+++ b/examples/multimediawidgets/camera/camera.cpp
@@ -129,9 +129,6 @@ void Camera::setCamera(const QCameraInfo &cameraInfo)
connect(m_imageCapture, QOverload<int, QCameraImageCapture::Error, const QString &>::of(&QCameraImageCapture::error),
this, &Camera::displayCaptureError);
- ui->captureWidget->setTabEnabled(0, (m_camera->isCaptureModeSupported(QCamera::CaptureStillImage)));
- ui->captureWidget->setTabEnabled(1, (m_camera->isCaptureModeSupported(QCamera::CaptureVideo)));
-
updateCaptureMode();
m_camera->start();
}
@@ -147,7 +144,7 @@ void Camera::keyPressEvent(QKeyEvent * event)
event->accept();
break;
case Qt::Key_Camera:
- if (m_camera->captureMode() == QCamera::CaptureStillImage) {
+ if (m_doImageCapture) {
takeImage();
} else {
if (m_mediaRecorder->state() == QMediaRecorder::RecordingState)
@@ -189,16 +186,10 @@ void Camera::processCapturedImage(int requestId, const QImage& img)
void Camera::configureCaptureSettings()
{
- switch (m_camera->captureMode()) {
- case QCamera::CaptureStillImage:
+ if (m_doImageCapture)
configureImageSettings();
- break;
- case QCamera::CaptureVideo:
+ else
configureVideoSettings();
- break;
- default:
- break;
- }
}
void Camera::configureVideoSettings()
@@ -279,10 +270,7 @@ void Camera::stopCamera()
void Camera::updateCaptureMode()
{
int tabIndex = ui->captureWidget->currentIndex();
- QCamera::CaptureModes captureMode = tabIndex == 0 ? QCamera::CaptureStillImage : QCamera::CaptureVideo;
-
- if (m_camera->isCaptureModeSupported(captureMode))
- m_camera->setCaptureMode(captureMode);
+ m_doImageCapture = (tabIndex == 0);
}
void Camera::updateCameraState(QCamera::State state)
diff --git a/examples/multimediawidgets/camera/camera.h b/examples/multimediawidgets/camera/camera.h
index 5ccac9165..66cc6eee3 100644
--- a/examples/multimediawidgets/camera/camera.h
+++ b/examples/multimediawidgets/camera/camera.h
@@ -128,6 +128,7 @@ private:
QMediaEncoderSettings m_encoderSettings;
bool m_isCapturingImage = false;
bool m_applicationExiting = false;
+ bool m_doImageCapture = true;
};
#endif
diff --git a/src/imports/multimedia/qdeclarativecamera.cpp b/src/imports/multimedia/qdeclarativecamera.cpp
index 82fdf2013..949db70fd 100644
--- a/src/imports/multimedia/qdeclarativecamera.cpp
+++ b/src/imports/multimedia/qdeclarativecamera.cpp
@@ -183,8 +183,6 @@ QDeclarativeCamera::QDeclarativeCamera(QObject *parent) :
m_focus = new QDeclarativeCameraFocus(m_camera);
m_imageProcessing = new QDeclarativeCameraImageProcessing(m_camera);
- connect(m_camera, SIGNAL(captureModeChanged(QCamera::CaptureModes)),
- this, SIGNAL(captureModeChanged()));
connect(m_camera, &QCamera::stateChanged, this, &QDeclarativeCamera::_q_updateState);
connect(m_camera, SIGNAL(statusChanged(QCamera::Status)), this, SIGNAL(cameraStatusChanged()));
connect(m_camera, SIGNAL(errorOccurred(QCamera::Error)), this, SLOT(_q_errorOccurred(QCamera::Error)));
@@ -228,7 +226,7 @@ void QDeclarativeCamera::componentComplete()
You can get all available device IDs from \l{QtMultimedia::QtMultimedia::availableCameras}{QtMultimedia.availableCameras}.
If no value is provided or if set to an empty string, the system's default camera will be used.
- If possible, \l cameraState, \l captureMode, \l digitalZoom and other camera parameters are
+ If possible, \l cameraState, \l zoomFactor and other camera parameters are
preserved when changing the camera device.
\sa displayName, position
@@ -258,7 +256,7 @@ void QDeclarativeCamera::setDeviceId(const QString &name)
front-facing and back-facing cameras. If this property is set to
\c Camera.UnspecifiedPosition, the system's default camera is used.
- If possible, \l cameraState, \l captureMode, \l digitalZoom and other camera
+ If possible, \l cameraState, \l zoomFactor and other camera
parameters are preserved when changing the camera device.
\value Camera.UnspecifiedPosition
@@ -413,31 +411,6 @@ QDeclarativeCamera::Availability QDeclarativeCamera::availability() const
return Availability(m_camera->availability());
}
-
-/*!
- \qmlproperty enumeration QtMultimedia::Camera::captureMode
-
- This property holds the camera capture mode. The default capture mode is
- \c CaptureStillImage.
-
- \value Camera.CaptureViewfinder
- Camera is only configured to display viewfinder.
- \value Camera.CaptureStillImage
- Prepares the Camera for capturing still images.
- \value Camera.CaptureVideo
- Prepares the Camera for capturing video.
-*/
-QDeclarativeCamera::CaptureMode QDeclarativeCamera::captureMode() const
-{
- return QDeclarativeCamera::CaptureMode(int(m_camera->captureMode()));
-}
-
-void QDeclarativeCamera::setCaptureMode(QDeclarativeCamera::CaptureMode mode)
-{
- m_camera->setCaptureMode(QCamera::CaptureModes(int(mode)));
-}
-
-
/*!
\qmlproperty enumeration QtMultimedia::Camera::cameraState
diff --git a/src/imports/multimedia/qdeclarativecamera_p.h b/src/imports/multimedia/qdeclarativecamera_p.h
index 92430c0c4..f5fca68e9 100644
--- a/src/imports/multimedia/qdeclarativecamera_p.h
+++ b/src/imports/multimedia/qdeclarativecamera_p.h
@@ -81,7 +81,6 @@ class QDeclarativeCamera : public QObject, public QQmlParserStatus
Q_PROPERTY(Position position READ position WRITE setPosition NOTIFY positionChanged REVISION 1)
Q_PROPERTY(QString displayName READ displayName NOTIFY displayNameChanged REVISION 1)
- Q_PROPERTY(CaptureMode captureMode READ captureMode WRITE setCaptureMode NOTIFY captureModeChanged)
Q_PROPERTY(State cameraState READ cameraState WRITE setCameraState NOTIFY cameraStateChanged)
Q_PROPERTY(Status cameraStatus READ cameraStatus NOTIFY cameraStatusChanged)
Q_PROPERTY(Error errorCode READ errorCode NOTIFY errorChanged)
@@ -91,7 +90,6 @@ class QDeclarativeCamera : public QObject, public QQmlParserStatus
Q_PROPERTY(qreal maximumZoomFactor READ maximumZoomFactor)
Q_PROPERTY(qreal zoomFactor READ zoomFactor WRITE setZoomFactor NOTIFY zoomFactorChanged)
- Q_PROPERTY(QObject *mediaSource READ mediaSource NOTIFY mediaSourceChanged SCRIPTABLE false DESIGNABLE false)
Q_PROPERTY(QDeclarativeCameraCapture* imageCapture READ imageCapture CONSTANT)
Q_PROPERTY(QDeclarativeCameraRecorder* videoRecorder READ videoRecorder CONSTANT)
Q_PROPERTY(QDeclarativeCameraExposure* exposure READ exposure CONSTANT)
@@ -101,7 +99,6 @@ class QDeclarativeCamera : public QObject, public QQmlParserStatus
Q_PROPERTY(QDeclarativeMediaMetaData *metaData READ metaData CONSTANT REVISION 1)
Q_ENUMS(Position)
- Q_ENUMS(CaptureMode)
Q_ENUMS(State)
Q_ENUMS(Status)
Q_ENUMS(Error)
@@ -121,11 +118,6 @@ public:
FrontFace = QCameraInfo::FrontFace
};
- enum CaptureMode {
- CaptureStillImage = QCamera::CaptureStillImage,
- CaptureVideo = QCamera::CaptureVideo
- };
-
enum State
{
ActiveState = QCamera::ActiveState,
@@ -241,7 +233,6 @@ public:
QString displayName() const;
- CaptureMode captureMode() const;
State cameraState() const;
Status cameraStatus() const;
@@ -256,8 +247,6 @@ public:
Availability availability() const;
public Q_SLOTS:
- void setCaptureMode(CaptureMode mode);
-
void start();
void stop();
@@ -278,14 +267,11 @@ Q_SIGNALS:
Q_REVISION(1) void positionChanged();
Q_REVISION(1) void displayNameChanged();
- void captureModeChanged();
void cameraStateChanged(QDeclarativeCamera::State);
void cameraStatusChanged();
void zoomFactorChanged(qreal);
- void mediaSourceChanged();
-
private Q_SLOTS:
void _q_updateState(QCamera::State);
void _q_errorOccurred(QCamera::Error);
diff --git a/src/multimedia/camera/qcamera.cpp b/src/multimedia/camera/qcamera.cpp
index 4ca99b2c7..5ecc9018c 100644
--- a/src/multimedia/camera/qcamera.cpp
+++ b/src/multimedia/camera/qcamera.cpp
@@ -159,8 +159,6 @@ void QCameraPrivate::initControls()
if (control) {
q->connect(control, SIGNAL(stateChanged(QCamera::State)), q, SLOT(_q_updateState(QCamera::State)));
q->connect(control, SIGNAL(statusChanged(QCamera::Status)), q, SIGNAL(statusChanged(QCamera::Status)));
- q->connect(control, SIGNAL(captureModeChanged(QCamera::CaptureModes)),
- q, SIGNAL(captureModeChanged(QCamera::CaptureModes)));
q->connect(control, SIGNAL(error(int,QString)), q, SLOT(_q_error(int,QString)));
}
@@ -346,46 +344,6 @@ QString QCamera::errorString() const
return d_func()->errorString;
}
-
-/*!
- Returns true if the capture \a mode is suported.
-*/
-bool QCamera::isCaptureModeSupported(QCamera::CaptureModes mode) const
-{
- return d_func()->control ? d_func()->control->isCaptureModeSupported(mode) : false;
-}
-
-/*!
- \property QCamera::captureMode
-
- The type of media (video or still images),
- the camera is configured to capture.
-
- It's allowed to change capture mode in any camera state,
- but if the camera is currently active,
- chaging capture mode is likely to lead to camera status
- chaged to QCamera::LoadedStatus, QCamera::LoadingStatus,
- and when the camera is ready to QCamera::ActiveStatus.
-*/
-
-QCamera::CaptureModes QCamera::captureMode() const
-{
- return d_func()->control ? d_func()->control->captureMode() : QCamera::CaptureStillImage;
-}
-
-void QCamera::setCaptureMode(QCamera::CaptureModes mode)
-{
- Q_D(QCamera);
-
- if (mode != captureMode()) {
- if (d->control) {
- d->_q_preparePropertyChange(QCameraControl::CaptureMode);
- d->control->setCaptureMode(mode);
- }
- }
-}
-
-
/*!
Starts the camera.
@@ -554,18 +512,6 @@ void QCamera::setCameraInfo(const QCameraInfo &cameraInfo)
\brief The current status of the camera object.
*/
-
-/*!
- \enum QCamera::CaptureMode
-
- This enum holds the capture mode of the camera.
-
- \value CaptureViewfinder Camera is only configured to display viewfinder.
- \value CaptureStillImage Camera is configured for still frames capture.
- \value CaptureVideo Camera is configured for video capture.
-*/
-
-
/*!
\enum QCamera::Error
@@ -609,12 +555,6 @@ void QCamera::setCameraInfo(const QCameraInfo &cameraInfo)
*/
/*!
- \fn void QCamera::captureModeChanged(QCamera::CaptureModes mode)
-
- Signals the capture \a mode has changed.
-*/
-
-/*!
\fn QCamera::stateChanged(QCamera::State state)
Signals the camera \a state has changed.
diff --git a/src/multimedia/camera/qcamera.h b/src/multimedia/camera/qcamera.h
index 49c0d900d..4d909e9bb 100644
--- a/src/multimedia/camera/qcamera.h
+++ b/src/multimedia/camera/qcamera.h
@@ -67,11 +67,9 @@ class Q_MULTIMEDIA_EXPORT QCamera : public QMediaSource
Q_OBJECT
Q_PROPERTY(QCamera::State state READ state NOTIFY stateChanged)
Q_PROPERTY(QCamera::Status status READ status NOTIFY statusChanged)
- Q_PROPERTY(QCamera::CaptureModes captureMode READ captureMode WRITE setCaptureMode NOTIFY captureModeChanged)
Q_ENUMS(Status)
Q_ENUMS(State)
- Q_ENUMS(CaptureMode)
Q_ENUMS(Error)
Q_ENUMS(Position)
public:
@@ -93,13 +91,6 @@ public:
ActiveState
};
- enum CaptureMode
- {
- CaptureStillImage = 0x01,
- CaptureVideo = 0x02
- };
- Q_DECLARE_FLAGS(CaptureModes, CaptureMode)
-
enum Error
{
NoError,
@@ -119,9 +110,6 @@ public:
QCameraInfo cameraInfo() const;
void setCameraInfo(const QCameraInfo &cameraInfo);
- CaptureModes captureMode() const;
- bool isCaptureModeSupported(CaptureModes mode) const;
-
QCameraExposure *exposure() const;
QCameraFocus *focus() const;
QCameraImageProcessing *imageProcessing() const;
@@ -133,8 +121,6 @@ public:
QString errorString() const;
public Q_SLOTS:
- void setCaptureMode(QCamera::CaptureModes mode);
-
void load();
void unload();
@@ -143,7 +129,6 @@ public Q_SLOTS:
Q_SIGNALS:
void stateChanged(QCamera::State state);
- void captureModeChanged(QCamera::CaptureModes);
void statusChanged(QCamera::Status status);
void errorOccurred(QCamera::Error);
@@ -162,6 +147,5 @@ QT_END_NAMESPACE
Q_MEDIA_ENUM_DEBUG(QCamera, State)
Q_MEDIA_ENUM_DEBUG(QCamera, Status)
Q_MEDIA_ENUM_DEBUG(QCamera, Error)
-Q_MEDIA_ENUM_DEBUG(QCamera, CaptureMode)
#endif // QCAMERA_H
diff --git a/src/multimedia/camera/qcamerafocus.cpp b/src/multimedia/camera/qcamerafocus.cpp
index 7c07669f6..badc765c3 100644
--- a/src/multimedia/camera/qcamerafocus.cpp
+++ b/src/multimedia/camera/qcamerafocus.cpp
@@ -274,14 +274,8 @@ void QCameraFocusPrivate::init(QCameraControl *cameraControl)
q->connect(focusControl, SIGNAL(focusZonesChanged()), q, SIGNAL(focusZonesChanged()));
- q->connect(focusControl, SIGNAL(currentOpticalZoomChanged(qreal)),
- q, SIGNAL(opticalZoomChanged(qreal)));
- q->connect(focusControl, SIGNAL(currentDigitalZoomChanged(qreal)),
- q, SIGNAL(digitalZoomChanged(qreal)));
- q->connect(focusControl, SIGNAL(maximumOpticalZoomChanged(qreal)),
- q, SIGNAL(maximumOpticalZoomChanged(qreal)));
- q->connect(focusControl, SIGNAL(maximumDigitalZoomChanged(qreal)),
- q, SIGNAL(maximumDigitalZoomChanged(qreal)));
+ q->connect(focusControl, SIGNAL(zoomFactorChanged(qreal)),
+ q, SIGNAL(zoomFactorChanged(qreal)));
}
/*!
diff --git a/src/multimedia/camera/qcameraimagecapture.cpp b/src/multimedia/camera/qcameraimagecapture.cpp
index 836468dbb..d67630bcd 100644
--- a/src/multimedia/camera/qcameraimagecapture.cpp
+++ b/src/multimedia/camera/qcameraimagecapture.cpp
@@ -252,7 +252,7 @@ void QCameraImageCapture::setEncodingSettings(const QImageEncoderSettings &setti
if (d->control) {
QCamera *camera = qobject_cast<QCamera*>(d->camera);
- if (camera && camera->captureMode() == QCamera::CaptureStillImage) {
+ if (camera) {
QMetaObject::invokeMethod(camera,
"_q_preparePropertyChange",
Qt::DirectConnection,
diff --git a/src/multimedia/controls/qcameracontrol.cpp b/src/multimedia/controls/qcameracontrol.cpp
index 9dcefd6ed..efd0a920a 100644
--- a/src/multimedia/controls/qcameracontrol.cpp
+++ b/src/multimedia/controls/qcameracontrol.cpp
@@ -136,39 +136,6 @@ QCameraControl::QCameraControl(QObject *parent)
*/
/*!
- \fn Camera::CaptureModes QCameraControl::captureMode() const = 0
-
- Returns the current capture mode.
-*/
-
-/*!
- \fn void QCameraControl::setCaptureMode(QCamera::CaptureModes mode) = 0;
-
- Sets the current capture \a mode.
-
- The capture mode changes are synchronous and allowed in any camera state.
-
- If the capture mode is changed while camera is active,
- it's recommended to change status to QCamera::LoadedStatus
- and start activating the camera in the next event loop
- with the status changed to QCamera::StartingStatus.
- This allows the capture settings to be applied before camera is started.
- Than change the status to QCamera::StartedStatus when the capture mode change is done.
-*/
-
-/*!
- \fn bool QCameraControl::isCaptureModeSupported(QCamera::CaptureModes mode) const = 0;
-
- Returns true if the capture \a mode is suported.
-*/
-
-/*!
- \fn QCameraControl::captureModeChanged(QCamera::CaptureModes mode)
-
- Signal emitted when the camera capture \a mode changes.
- */
-
-/*!
\fn bool QCameraControl::canChangeProperty(PropertyChangeType changeType, QCamera::Status status) const
Returns true if backend can effectively apply changing camera properties of \a changeType type
diff --git a/src/multimedia/controls/qcameracontrol.h b/src/multimedia/controls/qcameracontrol.h
index 68e049d30..0541e26aa 100644
--- a/src/multimedia/controls/qcameracontrol.h
+++ b/src/multimedia/controls/qcameracontrol.h
@@ -60,7 +60,6 @@ class Q_MULTIMEDIA_EXPORT QCameraControl : public QObject
public:
enum PropertyChangeType {
- CaptureMode = 1,
ImageEncodingSettings = 2,
VideoEncodingSettings = 3,
Viewfinder = 4,
@@ -73,10 +72,6 @@ public:
virtual void setCamera(const QCameraInfo &camera) = 0;
- virtual QCamera::CaptureModes captureMode() const = 0;
- virtual void setCaptureMode(QCamera::CaptureModes) = 0;
- virtual bool isCaptureModeSupported(QCamera::CaptureModes mode) const = 0;
-
virtual bool canChangeProperty(PropertyChangeType changeType, QCamera::Status status) const = 0;
virtual QCameraFocusControl *focusControl() { return nullptr; }
@@ -89,7 +84,6 @@ Q_SIGNALS:
void stateChanged(QCamera::State);
void statusChanged(QCamera::Status);
void error(int error, const QString &errorString);
- void captureModeChanged(QCamera::CaptureModes mode);
protected:
explicit QCameraControl(QObject *parent = nullptr);
diff --git a/src/multimedia/platform/android/mediacapture/qandroidcameracontrol.cpp b/src/multimedia/platform/android/mediacapture/qandroidcameracontrol.cpp
index 0b17f17b9..0e932c8e9 100644
--- a/src/multimedia/platform/android/mediacapture/qandroidcameracontrol.cpp
+++ b/src/multimedia/platform/android/mediacapture/qandroidcameracontrol.cpp
@@ -62,9 +62,6 @@ QAndroidCameraControl::QAndroidCameraControl(QAndroidCameraSession *session)
connect(m_cameraSession, SIGNAL(error(int,QString)), this, SIGNAL(error(int,QString)));
- connect(m_cameraSession, SIGNAL(captureModeChanged(QCamera::CaptureModes)),
- this, SIGNAL(captureModeChanged(QCamera::CaptureModes)));
-
m_recalculateTimer = new QTimer(this);
m_recalculateTimer->setInterval(1000);
m_recalculateTimer->setSingleShot(true);
@@ -76,21 +73,6 @@ QAndroidCameraControl::~QAndroidCameraControl()
delete m_renderer;
}
-QCamera::CaptureModes QAndroidCameraControl::captureMode() const
-{
- return m_cameraSession->captureMode();
-}
-
-void QAndroidCameraControl::setCaptureMode(QCamera::CaptureModes mode)
-{
- m_cameraSession->setCaptureMode(mode);
-}
-
-bool QAndroidCameraControl::isCaptureModeSupported(QCamera::CaptureModes mode) const
-{
- return m_cameraSession->isCaptureModeSupported(mode);
-}
-
void QAndroidCameraControl::setState(QCamera::State state)
{
m_cameraSession->setState(state);
@@ -125,7 +107,6 @@ bool QAndroidCameraControl::canChangeProperty(PropertyChangeType changeType, QCa
Q_UNUSED(status);
switch (changeType) {
- case QCameraControl::CaptureMode:
case QCameraControl::ImageEncodingSettings:
case QCameraControl::VideoEncodingSettings:
case QCameraControl::Viewfinder:
diff --git a/src/multimedia/platform/android/mediacapture/qandroidcameracontrol_p.h b/src/multimedia/platform/android/mediacapture/qandroidcameracontrol_p.h
index 6118d0fa8..f6f0d2fe7 100644
--- a/src/multimedia/platform/android/mediacapture/qandroidcameracontrol_p.h
+++ b/src/multimedia/platform/android/mediacapture/qandroidcameracontrol_p.h
@@ -73,10 +73,6 @@ public:
void setCamera(const QCameraInfo &camera) override;
- QCamera::CaptureModes captureMode() const override;
- void setCaptureMode(QCamera::CaptureModes mode) override;
- bool isCaptureModeSupported(QCamera::CaptureModes mode) const override;
-
bool canChangeProperty(PropertyChangeType changeType, QCamera::Status status) const override;
QCameraFocusControl *focusControl() override;
diff --git a/src/multimedia/platform/android/mediacapture/qandroidcamerafocuscontrol.cpp b/src/multimedia/platform/android/mediacapture/qandroidcamerafocuscontrol.cpp
index b1805ff15..452784937 100644
--- a/src/multimedia/platform/android/mediacapture/qandroidcamerafocuscontrol.cpp
+++ b/src/multimedia/platform/android/mediacapture/qandroidcamerafocuscontrol.cpp
@@ -70,8 +70,6 @@ QAndroidCameraFocusControl::QAndroidCameraFocusControl(QAndroidCameraSession *se
{
connect(m_session, SIGNAL(opened()),
this, SLOT(onCameraOpened()));
- connect(m_session, SIGNAL(captureModeChanged(QCamera::CaptureModes)),
- this, SLOT(onCameraCaptureModeChanged()));
}
QCameraFocus::FocusModes QAndroidCameraFocusControl::focusMode() const
@@ -98,8 +96,7 @@ void QAndroidCameraFocusControl::setFocusMode(QCameraFocus::FocusModes mode)
} else if (mode.testFlag(QCameraFocus::MacroFocus)) {
focusMode = QLatin1String("macro");
} else if (mode.testFlag(QCameraFocus::ContinuousFocus)) {
- if ((m_session->captureMode().testFlag(QCamera::CaptureVideo) && m_continuousVideoFocusSupported)
- || !m_continuousPictureFocusSupported) {
+ if (1) { // ###?
focusMode = QLatin1String("continuous-video");
} else {
focusMode = QLatin1String("continuous-picture");
@@ -297,17 +294,17 @@ void QAndroidCameraFocusControl::onViewportSizeChanged()
void QAndroidCameraFocusControl::onCameraCaptureModeChanged()
{
- if (m_session->camera() && m_focusMode == QCameraFocus::ContinuousFocus) {
- QString focusMode;
- if ((m_session->captureMode().testFlag(QCamera::CaptureVideo) && m_continuousVideoFocusSupported)
- || !m_continuousPictureFocusSupported) {
- focusMode = QLatin1String("continuous-video");
- } else {
- focusMode = QLatin1String("continuous-picture");
- }
- m_session->camera()->setFocusMode(focusMode);
- m_session->camera()->cancelAutoFocus();
- }
+// if (m_session->camera() && m_focusMode == QCameraFocus::ContinuousFocus) {
+// QString focusMode;
+// if ((m_session->captureMode().testFlag(QCamera::CaptureVideo) && m_continuousVideoFocusSupported)
+// || !m_continuousPictureFocusSupported) {
+// focusMode = QLatin1String("continuous-video");
+// } else {
+// focusMode = QLatin1String("continuous-picture");
+// }
+// m_session->camera()->setFocusMode(focusMode);
+// m_session->camera()->cancelAutoFocus();
+// }
}
void QAndroidCameraFocusControl::onAutoFocusStarted()
diff --git a/src/multimedia/platform/android/mediacapture/qandroidcamerasession.cpp b/src/multimedia/platform/android/mediacapture/qandroidcamerasession.cpp
index a9d5b32e6..47d347c80 100644
--- a/src/multimedia/platform/android/mediacapture/qandroidcamerasession.cpp
+++ b/src/multimedia/platform/android/mediacapture/qandroidcamerasession.cpp
@@ -68,7 +68,6 @@ QAndroidCameraSession::QAndroidCameraSession(QObject *parent)
, m_camera(0)
, m_nativeOrientation(0)
, m_videoOutput(0)
- , m_captureMode(QCamera::CaptureStillImage)
, m_state(QCamera::UnloadedState)
, m_savedState(-1)
, m_status(QCamera::UnloadedStatus)
@@ -104,25 +103,17 @@ QAndroidCameraSession::~QAndroidCameraSession()
close();
}
-void QAndroidCameraSession::setCaptureMode(QCamera::CaptureModes mode)
-{
- if (m_captureMode == mode || !isCaptureModeSupported(mode))
- return;
+//void QAndroidCameraSession::setCaptureMode(QCamera::CaptureModes mode)
+//{
+// if (m_captureMode == mode || !isCaptureModeSupported(mode))
+// return;
- m_captureMode = mode;
- emit captureModeChanged(m_captureMode);
+// m_captureMode = mode;
+// emit captureModeChanged(m_captureMode);
- if (m_previewStarted && m_captureMode.testFlag(QCamera::CaptureStillImage))
- applyResolution(m_actualImageSettings.resolution());
-}
-
-bool QAndroidCameraSession::isCaptureModeSupported(QCamera::CaptureModes mode) const
-{
- if (mode & (QCamera::CaptureStillImage & QCamera::CaptureVideo))
- return false;
-
- return true;
-}
+// if (m_previewStarted && m_captureMode.testFlag(QCamera::CaptureStillImage))
+// applyResolution(m_actualImageSettings.resolution());
+//}
void QAndroidCameraSession::setState(QCamera::State state)
{
@@ -278,8 +269,7 @@ void QAndroidCameraSession::applyResolution(const QSize &captureSize, bool resta
// -- adjust resolution
QSize adjustedViewfinderResolution;
const bool validCaptureSize = captureSize.width() > 0 && captureSize.height() > 0;
- if (m_captureMode.testFlag(QCamera::CaptureVideo)
- && validCaptureSize
+ if (validCaptureSize
&& m_camera->getPreferredPreviewSizeForVideo().isEmpty()) {
// According to the Android doc, if getPreferredPreviewSizeForVideo() returns null, it means
// the preview size cannot be different from the capture size
@@ -427,8 +417,7 @@ bool QAndroidCameraSession::startPreview()
emit statusChanged(m_status);
applyImageSettings();
- if (m_captureMode.testFlag(QCamera::CaptureStillImage))
- applyResolution(m_actualImageSettings.resolution());
+ applyResolution(m_actualImageSettings.resolution());
AndroidMultimediaUtils::enableOrientationListener(true);
@@ -474,7 +463,7 @@ void QAndroidCameraSession::setImageSettings(const QImageEncoderSettings &settin
applyImageSettings();
- if (m_readyForCapture && m_captureMode.testFlag(QCamera::CaptureStillImage))
+ if (m_readyForCapture)
applyResolution(m_actualImageSettings.resolution());
}
diff --git a/src/multimedia/platform/android/mediacapture/qandroidcamerasession_p.h b/src/multimedia/platform/android/mediacapture/qandroidcamerasession_p.h
index c2278434b..5a3436feb 100644
--- a/src/multimedia/platform/android/mediacapture/qandroidcamerasession_p.h
+++ b/src/multimedia/platform/android/mediacapture/qandroidcamerasession_p.h
@@ -84,10 +84,6 @@ public:
QCamera::Status status() const { return m_status; }
- QCamera::CaptureModes captureMode() const { return m_captureMode; }
- void setCaptureMode(QCamera::CaptureModes mode);
- bool isCaptureModeSupported(QCamera::CaptureModes mode) const;
-
void applyResolution(const QSize &captureSize = QSize(), bool restartPreview = true);
QAndroidVideoOutput *videoOutput() const { return m_videoOutput; }
@@ -128,7 +124,6 @@ Q_SIGNALS:
void statusChanged(QCamera::Status status);
void stateChanged(QCamera::State);
void error(int error, const QString &errorString);
- void captureModeChanged(QCamera::CaptureModes);
void opened();
void captureDestinationChanged(QCameraImageCapture::CaptureDestinations destination);
@@ -183,7 +178,6 @@ private:
int m_nativeOrientation;
QAndroidVideoOutput *m_videoOutput;
- QCamera::CaptureModes m_captureMode;
QCamera::State m_state;
int m_savedState;
QCamera::Status m_status;
diff --git a/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp b/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp
index 5be3f6cfe..e534f0e80 100644
--- a/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp
+++ b/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp
@@ -92,13 +92,6 @@ QAndroidCaptureSession::QAndroidCaptureSession(QAndroidCameraSession *cameraSess
if (status == QCamera::LoadingStatus)
setStatus(QMediaRecorder::LoadingStatus);
});
- connect(cameraSession, &QAndroidCameraSession::captureModeChanged, this,
- [this](QCamera::CaptureModes mode) {
- if (!mode.testFlag(QCamera::CaptureVideo)) {
- setState(QMediaRecorder::StoppedState);
- setStatus(QMediaRecorder::UnloadedStatus);
- }
- });
connect(cameraSession, &QAndroidCameraSession::readyForCaptureChanged, this,
[this](bool ready) {
if (ready)
diff --git a/src/multimedia/platform/darwin/camera/avfcameracontrol.mm b/src/multimedia/platform/darwin/camera/avfcameracontrol.mm
index b4cc9116a..7059588da 100644
--- a/src/multimedia/platform/darwin/camera/avfcameracontrol.mm
+++ b/src/multimedia/platform/darwin/camera/avfcameracontrol.mm
@@ -55,11 +55,9 @@ AVFCameraControl::AVFCameraControl(AVFCameraService *service, QObject *parent)
, m_service(service)
, m_state(QCamera::UnloadedState)
, m_lastStatus(QCamera::UnloadedStatus)
- , m_captureMode(QCamera::CaptureStillImage)
{
Q_UNUSED(service);
connect(m_session, SIGNAL(stateChanged(QCamera::State)), SLOT(updateStatus()));
- connect(this, &AVFCameraControl::captureModeChanged, m_session, &AVFCameraSession::onCaptureModeChanged);
}
AVFCameraControl::~AVFCameraControl()
@@ -109,30 +107,6 @@ void AVFCameraControl::updateStatus()
}
}
-QCamera::CaptureModes AVFCameraControl::captureMode() const
-{
- return m_captureMode;
-}
-
-void AVFCameraControl::setCaptureMode(QCamera::CaptureModes mode)
-{
- if (m_captureMode == mode)
- return;
-
- m_captureMode = mode;
- Q_EMIT captureModeChanged(mode);
-}
-
-bool AVFCameraControl::isCaptureModeSupported(QCamera::CaptureModes /*mode*/) const
-{
- return true;
-}
-
-void AVFCameraControl::setVideoSurface(QAbstractVideoSurface *surface)
-{
- m_session->setVideoSurface(surface);
-}
-
bool AVFCameraControl::canChangeProperty(QCameraControl::PropertyChangeType changeType, QCamera::Status status) const
{
Q_UNUSED(changeType);
@@ -209,6 +183,11 @@ bool AVFCameraControl::CVPixelFormatFromQtFormat(QVideoFrame::PixelFormat qtForm
return true;
}
+void AVFCameraControl::setVideoSurface(QAbstractVideoSurface *surface)
+{
+ m_session->setVideoSurface(surface);
+}
+
AVCaptureConnection *AVFCameraControl::videoConnection() const
{
if (!m_session->videoOutput() || !m_session->videoOutput()->videoDataOutput())
diff --git a/src/multimedia/platform/darwin/camera/avfcameracontrol_p.h b/src/multimedia/platform/darwin/camera/avfcameracontrol_p.h
index 423afa724..5f9aff0d6 100644
--- a/src/multimedia/platform/darwin/camera/avfcameracontrol_p.h
+++ b/src/multimedia/platform/darwin/camera/avfcameracontrol_p.h
@@ -76,10 +76,6 @@ public:
void setCamera(const QCameraInfo &camera) override;
- QCamera::CaptureModes captureMode() const override;
- void setCaptureMode(QCamera::CaptureModes) override;
- bool isCaptureModeSupported(QCamera::CaptureModes mode) const override;
-
bool canChangeProperty(PropertyChangeType changeType, QCamera::Status status) const override;
QCameraFocusControl *focusControl() override;
@@ -104,7 +100,6 @@ private:
QCamera::State m_state;
QCamera::Status m_lastStatus;
- QCamera::CaptureModes m_captureMode;
};
QT_END_NAMESPACE
diff --git a/src/multimedia/platform/darwin/camera/avfcamerasession.mm b/src/multimedia/platform/darwin/camera/avfcamerasession.mm
index 1d76e672e..f6772c5d1 100644
--- a/src/multimedia/platform/darwin/camera/avfcamerasession.mm
+++ b/src/multimedia/platform/darwin/camera/avfcamerasession.mm
@@ -295,14 +295,14 @@ void AVFCameraSession::processSessionStopped()
}
}
-void AVFCameraSession::onCaptureModeChanged(QCamera::CaptureModes mode)
-{
- Q_UNUSED(mode);
-
- const QCamera::State s = state();
- if (s == QCamera::LoadedState || s == QCamera::ActiveState)
- applyImageEncoderSettings();
-}
+//void AVFCameraSession::onCaptureModeChanged(QCamera::CaptureModes mode)
+//{
+// Q_UNUSED(mode);
+
+// const QCamera::State s = state();
+// if (s == QCamera::LoadedState || s == QCamera::ActiveState)
+// applyImageEncoderSettings();
+//}
AVCaptureDevice *AVFCameraSession::createCaptureDevice()
{
diff --git a/src/multimedia/platform/darwin/camera/avfcamerasession_p.h b/src/multimedia/platform/darwin/camera/avfcamerasession_p.h
index 0ca3c01f1..b31c04bab 100644
--- a/src/multimedia/platform/darwin/camera/avfcamerasession_p.h
+++ b/src/multimedia/platform/darwin/camera/avfcamerasession_p.h
@@ -100,8 +100,6 @@ public Q_SLOTS:
void processSessionStarted();
void processSessionStopped();
- void onCaptureModeChanged(QCamera::CaptureModes mode);
-
Q_SIGNALS:
void readyToConfigureConnections();
void stateChanged(QCamera::State newState);
diff --git a/src/multimedia/platform/darwin/camera/avfimagecapturecontrol.mm b/src/multimedia/platform/darwin/camera/avfimagecapturecontrol.mm
index 3ff4a4eb9..27394a2f1 100644
--- a/src/multimedia/platform/darwin/camera/avfimagecapturecontrol.mm
+++ b/src/multimedia/platform/darwin/camera/avfimagecapturecontrol.mm
@@ -69,11 +69,9 @@ AVFImageCaptureControl::AVFImageCaptureControl(AVFCameraService *service, QObjec
[m_stillImageOutput setOutputSettings:outputSettings];
[outputSettings release];
- connect(m_cameraControl, SIGNAL(captureModeChanged(QCamera::CaptureModes)), SLOT(updateReadyStatus()));
connect(m_cameraControl, SIGNAL(statusChanged(QCamera::Status)), SLOT(updateReadyStatus()));
connect(m_session, SIGNAL(readyToConfigureConnections()), SLOT(updateCaptureConnection()));
- connect(m_cameraControl, SIGNAL(captureModeChanged(QCamera::CaptureModes)), SLOT(updateCaptureConnection()));
connect(m_session, &AVFCameraSession::newViewfinderFrame,
this, &AVFImageCaptureControl::onNewViewfinderFrame,
@@ -86,9 +84,7 @@ AVFImageCaptureControl::~AVFImageCaptureControl()
bool AVFImageCaptureControl::isReadyForCapture() const
{
- return m_videoConnection &&
- m_cameraControl->captureMode().testFlag(QCamera::CaptureStillImage) &&
- m_cameraControl->status() == QCamera::ActiveStatus;
+ return m_videoConnection && m_cameraControl->status() == QCamera::ActiveStatus;
}
void AVFImageCaptureControl::updateReadyStatus()
@@ -116,7 +112,7 @@ int AVFImageCaptureControl::capture(const QString &fileName)
QString actualFileName;
if (destination & QCameraImageCapture::CaptureToFile) {
actualFileName = m_storageLocation.generateFileName(fileName,
- QCamera::CaptureStillImage,
+ AVFStorageLocation::Image,
QLatin1String("img_"),
QLatin1String("jpg"));
@@ -256,8 +252,7 @@ void AVFImageCaptureControl::setCaptureDestination(QCameraImageCapture::CaptureD
void AVFImageCaptureControl::updateCaptureConnection()
{
- if (m_session->videoCaptureDevice()
- && m_cameraControl->captureMode().testFlag(QCamera::CaptureStillImage)) {
+ if (m_session->videoCaptureDevice()) {
qDebugCamera() << Q_FUNC_INFO;
AVCaptureSession *captureSession = m_session->captureSession();
@@ -327,10 +322,8 @@ bool AVFImageCaptureControl::applySettings()
AVFCameraSession *session = m_service->session();
if (!session || (session->state() != QCamera::ActiveState
- && session->state() != QCamera::LoadedState)
- || !m_service->cameraControl()->captureMode().testFlag(QCamera::CaptureStillImage)) {
+ && session->state() != QCamera::LoadedState))
return false;
- }
if (!m_service->imageCaptureControl()
|| !m_service->imageCaptureControl()->stillImageOutput()) {
diff --git a/src/multimedia/platform/darwin/camera/avfmediarecordercontrol.mm b/src/multimedia/platform/darwin/camera/avfmediarecordercontrol.mm
index e39161cfd..55938780d 100644
--- a/src/multimedia/platform/darwin/camera/avfmediarecordercontrol.mm
+++ b/src/multimedia/platform/darwin/camera/avfmediarecordercontrol.mm
@@ -147,7 +147,6 @@ AVFMediaRecorderControl::AVFMediaRecorderControl(AVFCameraService *service, QObj
connect(m_cameraControl, SIGNAL(stateChanged(QCamera::State)), SLOT(updateStatus()));
connect(m_cameraControl, SIGNAL(statusChanged(QCamera::Status)), SLOT(updateStatus()));
- connect(m_cameraControl, SIGNAL(captureModeChanged(QCamera::CaptureModes)), SLOT(setupSessionForCapture()));
connect(m_session, SIGNAL(readyToConfigureConnections()), SLOT(setupSessionForCapture()));
connect(m_session, SIGNAL(stateChanged(QCamera::State)), SLOT(setupSessionForCapture()));
}
@@ -466,10 +465,8 @@ NSDictionary *avfVideoSettings(QMediaEncoderSettings &encoderSettings, AVCapture
void AVFMediaRecorderControl::applySettings()
{
if (m_state != QMediaRecorder::StoppedState
- || (m_session->state() != QCamera::ActiveState && m_session->state() != QCamera::LoadedState)
- || !m_service->cameraControl()->captureMode().testFlag(QCamera::CaptureVideo)) {
+ || (m_session->state() != QCamera::ActiveState && m_session->state() != QCamera::LoadedState))
return;
- }
QMediaEncoderSettings resolved = m_settings;
resolved.resolveFormat();
@@ -550,7 +547,7 @@ void AVFMediaRecorderControl::setState(QMediaRecorder::State state)
QUrl actualLocation = QUrl::fromLocalFile(
m_storageLocation.generateFileName(outputLocationPath,
- QCamera::CaptureVideo,
+ AVFStorageLocation::Video,
QLatin1String("clip_"),
extension));
@@ -644,9 +641,7 @@ void AVFMediaRecorderControl::setupSessionForCapture()
// request on iOS, but it shoudn't do so until we actually try to record.
AVCaptureSession *captureSession = m_session->captureSession();
- if (!m_connected
- && m_cameraControl->captureMode().testFlag(QCamera::CaptureVideo)
- && m_session->state() != QCamera::UnloadedState) {
+ if (!m_connected && m_session->state() != QCamera::UnloadedState) {
// Lock the video capture device to make sure the active format is not reset
const AVFConfigurationLock lock(m_session->videoCaptureDevice());
@@ -678,9 +673,7 @@ void AVFMediaRecorderControl::setupSessionForCapture()
Q_EMIT error(QMediaRecorder::ResourceError, tr("Could not connect the video recorder"));
qWarning() << "Could not connect the video recorder";
}
- } else if (m_connected
- && (!m_cameraControl->captureMode().testFlag(QCamera::CaptureVideo)
- || m_session->state() == QCamera::UnloadedState)) {
+ } else if (m_connected || m_session->state() == QCamera::UnloadedState) {
// Lock the video capture device to make sure the active format is not reset
const AVFConfigurationLock lock(m_session->videoCaptureDevice());
diff --git a/src/multimedia/platform/darwin/camera/avfmediarecordercontrol_ios.mm b/src/multimedia/platform/darwin/camera/avfmediarecordercontrol_ios.mm
index 22989953f..c33b66ad0 100644
--- a/src/multimedia/platform/darwin/camera/avfmediarecordercontrol_ios.mm
+++ b/src/multimedia/platform/darwin/camera/avfmediarecordercontrol_ios.mm
@@ -231,7 +231,7 @@ void AVFMediaRecorderControlIOS::setState(QMediaRecorder::State state)
const QString path(m_outputLocation.scheme() == QLatin1String("file") ?
m_outputLocation.path() : m_outputLocation.toString());
- const QUrl fileURL(QUrl::fromLocalFile(m_storageLocation.generateFileName(path, QCamera::CaptureVideo,
+ const QUrl fileURL(QUrl::fromLocalFile(m_storageLocation.generateFileName(path, AVFStorageLocation::Video,
QLatin1String("clip_"),
m_service->mediaContainerControl()->containerFormat())));
@@ -356,27 +356,6 @@ void AVFMediaRecorderControlIOS::assetWriterFinished()
Q_EMIT stateChanged(m_state);
}
-void AVFMediaRecorderControlIOS::captureModeChanged(QCamera::CaptureModes newMode)
-{
- AVFCameraControl *cameraControl = m_service->cameraControl();
- Q_ASSERT(cameraControl);
-
- const QMediaRecorder::Status lastStatus = m_lastStatus;
-
- if (newMode & QCamera::CaptureVideo) {
- if (cameraControl->status() == QCamera::ActiveStatus)
- m_lastStatus = QMediaRecorder::LoadedStatus;
- } else {
- if (m_lastStatus == QMediaRecorder::RecordingStatus)
- return stopWriter();
- else
- m_lastStatus = QMediaRecorder::UnloadedStatus;
- }
-
- if (m_lastStatus != lastStatus)
- Q_EMIT statusChanged(m_lastStatus);
-}
-
void AVFMediaRecorderControlIOS::cameraStatusChanged(QCamera::Status newStatus)
{
AVFCameraControl *cameraControl = m_service->cameraControl();
diff --git a/src/multimedia/platform/darwin/camera/avfmediarecordercontrol_ios_p.h b/src/multimedia/platform/darwin/camera/avfmediarecordercontrol_ios_p.h
index 178c75cad..f550e59c2 100644
--- a/src/multimedia/platform/darwin/camera/avfmediarecordercontrol_ios_p.h
+++ b/src/multimedia/platform/darwin/camera/avfmediarecordercontrol_ios_p.h
@@ -101,7 +101,6 @@ private:
Q_INVOKABLE void assetWriterFinished();
private Q_SLOTS:
- void captureModeChanged(QCamera::CaptureModes);
void cameraStatusChanged(QCamera::Status newStatus);
private:
diff --git a/src/multimedia/platform/darwin/camera/avfstoragelocation.mm b/src/multimedia/platform/darwin/camera/avfstoragelocation.mm
index 46671e938..f2c223c82 100644
--- a/src/multimedia/platform/darwin/camera/avfstoragelocation.mm
+++ b/src/multimedia/platform/darwin/camera/avfstoragelocation.mm
@@ -59,7 +59,7 @@ AVFStorageLocation::~AVFStorageLocation()
* or specify the full actual path.
*/
QString AVFStorageLocation::generateFileName(const QString &requestedName,
- QCamera::CaptureMode mode,
+ Mode mode,
const QString &prefix,
const QString &ext) const
{
@@ -72,11 +72,11 @@ QString AVFStorageLocation::generateFileName(const QString &requestedName,
return requestedName;
}
-QDir AVFStorageLocation::defaultDir(QCamera::CaptureMode mode) const
+QDir AVFStorageLocation::defaultDir(Mode mode) const
{
QStringList dirCandidates;
- if (mode == QCamera::CaptureVideo) {
+ if (mode == Video) {
dirCandidates << QStandardPaths::writableLocation(QStandardPaths::MoviesLocation);
} else {
dirCandidates << QStandardPaths::writableLocation(QStandardPaths::PicturesLocation);
diff --git a/src/multimedia/platform/darwin/camera/avfstoragelocation_p.h b/src/multimedia/platform/darwin/camera/avfstoragelocation_p.h
index 8794f0fae..25221f68c 100644
--- a/src/multimedia/platform/darwin/camera/avfstoragelocation_p.h
+++ b/src/multimedia/platform/darwin/camera/avfstoragelocation_p.h
@@ -64,13 +64,18 @@ public:
AVFStorageLocation();
~AVFStorageLocation();
+ enum Mode {
+ Image,
+ Video
+ };
+
QString generateFileName(const QString &requestedName,
- QCamera::CaptureMode mode,
+ Mode mode,
const QString &prefix,
const QString &ext) const;
- QDir defaultDir(QCamera::CaptureMode mode) const;
+ QDir defaultDir(Mode mode) const;
QString generateFileName(const QString &prefix, const QDir &dir, const QString &ext) const;
private:
diff --git a/src/multimedia/platform/gstreamer/camerabin/camerabincontrol.cpp b/src/multimedia/platform/gstreamer/camerabin/camerabincontrol.cpp
index 0b7b014f5..31ae1f6dd 100644
--- a/src/multimedia/platform/gstreamer/camerabin/camerabincontrol.cpp
+++ b/src/multimedia/platform/gstreamer/camerabin/camerabincontrol.cpp
@@ -83,25 +83,6 @@ CameraBinControl::~CameraBinControl()
{
}
-QCamera::CaptureModes CameraBinControl::captureMode() const
-{
- return m_session->captureMode();
-}
-
-void CameraBinControl::setCaptureMode(QCamera::CaptureModes mode)
-{
- if (m_session->captureMode() != mode) {
- m_session->setCaptureMode(mode);
-
- emit captureModeChanged(mode);
- }
-}
-
-bool CameraBinControl::isCaptureModeSupported(QCamera::CaptureModes mode) const
-{
- return mode == QCamera::CaptureStillImage || mode == QCamera::CaptureVideo;
-}
-
void CameraBinControl::setState(QCamera::State state)
{
#ifdef CAMEABIN_DEBUG
diff --git a/src/multimedia/platform/gstreamer/camerabin/camerabincontrol_p.h b/src/multimedia/platform/gstreamer/camerabin/camerabincontrol_p.h
index 0ea4ee73e..cbee17cf3 100644
--- a/src/multimedia/platform/gstreamer/camerabin/camerabincontrol_p.h
+++ b/src/multimedia/platform/gstreamer/camerabin/camerabincontrol_p.h
@@ -76,10 +76,6 @@ public:
void setCamera(const QCameraInfo &camera) override;
- QCamera::CaptureModes captureMode() const override;
- void setCaptureMode(QCamera::CaptureModes mode) override;
-
- bool isCaptureModeSupported(QCamera::CaptureModes mode) const override;
bool canChangeProperty(PropertyChangeType changeType, QCamera::Status status) const override;
bool viewfinderColorSpaceConversion() const;
diff --git a/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol.cpp b/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol.cpp
index abee759e9..332bd0606 100644
--- a/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol.cpp
+++ b/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol.cpp
@@ -49,7 +49,6 @@
QGstreamerCameraControl::QGstreamerCameraControl(QGstreamerCaptureSession *session)
:QCameraControl(session),
- m_captureMode(QCamera::CaptureStillImage),
m_session(session),
m_state(QCamera::UnloadedState),
m_status(QCamera::UnloadedStatus),
@@ -66,43 +65,13 @@ QGstreamerCameraControl::QGstreamerCameraControl(QGstreamerCaptureSession *sessi
connect(m_session, SIGNAL(readyChanged(bool)),
SLOT(reloadLater()));
- m_session->setCaptureMode(QGstreamerCaptureSession::Image);
+ m_session->setCaptureMode(QGstreamerCaptureSession::AudioAndVideoAndImage);
}
QGstreamerCameraControl::~QGstreamerCameraControl()
{
}
-void QGstreamerCameraControl::setCaptureMode(QCamera::CaptureModes mode)
-{
- if (m_captureMode == mode || !isCaptureModeSupported(mode))
- return;
-
- m_captureMode = mode;
-
- switch (mode) {
- case QCamera::CaptureStillImage:
- m_session->setCaptureMode(QGstreamerCaptureSession::Image);
- break;
- case QCamera::CaptureVideo:
- m_session->setCaptureMode(QGstreamerCaptureSession::AudioAndVideo);
- break;
- case QCamera::CaptureVideo | QCamera::CaptureStillImage:
- m_session->setCaptureMode(QGstreamerCaptureSession::AudioAndVideoAndImage);
- break;
- }
-
- emit captureModeChanged(mode);
- updateStatus();
- reloadLater();
-}
-
-bool QGstreamerCameraControl::isCaptureModeSupported(QCamera::CaptureModes mode) const
-{
- //only CaptureStillImage and CaptureVideo bits are allowed
- return (mode & (QCamera::CaptureStillImage | QCamera::CaptureVideo)) == mode;
-}
-
void QGstreamerCameraControl::setState(QCamera::State state)
{
if (m_state == state)
@@ -192,7 +161,6 @@ bool QGstreamerCameraControl::canChangeProperty(PropertyChangeType changeType, Q
Q_UNUSED(status);
switch (changeType) {
- case QCameraControl::CaptureMode:
case QCameraControl::ImageEncodingSettings:
case QCameraControl::VideoEncodingSettings:
case QCameraControl::Viewfinder:
diff --git a/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol_p.h b/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol_p.h
index 43a3d3adc..2fd67af85 100644
--- a/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol_p.h
+++ b/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameracontrol_p.h
@@ -74,11 +74,6 @@ public:
void setCamera(const QCameraInfo &camera) override;
- QCamera::CaptureModes captureMode() const override { return m_captureMode; }
- void setCaptureMode(QCamera::CaptureModes mode) override;
-
- bool isCaptureModeSupported(QCamera::CaptureModes mode) const override;
-
bool canChangeProperty(PropertyChangeType changeType, QCamera::Status status) const override;
void setVideoSurface(QAbstractVideoSurface *surface) override;
@@ -92,7 +87,6 @@ private slots:
private:
- QCamera::CaptureModes m_captureMode;
QGstreamerCaptureSession *m_session;
QCamera::State m_state;
QCamera::Status m_status;
diff --git a/src/multimedia/recording/qmediarecorder.cpp b/src/multimedia/recording/qmediarecorder.cpp
index 50b77ab94..8b1b27bec 100644
--- a/src/multimedia/recording/qmediarecorder.cpp
+++ b/src/multimedia/recording/qmediarecorder.cpp
@@ -158,7 +158,7 @@ void QMediaRecorderPrivate::restartCamera()
{
//restart camera if it can't apply new settings in the Active state
QCamera *camera = qobject_cast<QCamera*>(mediaSource);
- if (camera && camera->captureMode() == QCamera::CaptureVideo) {
+ if (camera) {
QMetaObject::invokeMethod(camera,
"_q_preparePropertyChange",
Qt::DirectConnection,
diff --git a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp
index 28390cab8..8fe80e4dd 100644
--- a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp
+++ b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp
@@ -70,7 +70,6 @@ private slots:
void testCameraStates();
void testCameraStartError();
- void testCaptureMode();
void testCameraCapture();
void testCaptureToBuffer();
void testCameraCaptureMetadata();
@@ -225,82 +224,6 @@ void tst_QCameraBackend::testCameraStartError()
QCOMPARE(errorSpy2.count(), 1);
}
-void tst_QCameraBackend::testCaptureMode()
-{
- QCamera camera;
-
- QSignalSpy errorSignal(&camera, SIGNAL(errorOccurred(QCamera::Error)));
- QSignalSpy stateChangedSignal(&camera, SIGNAL(stateChanged(QCamera::State)));
- QSignalSpy captureModeSignal(&camera, SIGNAL(captureModeChanged(QCamera::CaptureModes)));
-
- QCOMPARE(camera.captureMode(), QCamera::CaptureStillImage);
-
- if (!camera.isCaptureModeSupported(QCamera::CaptureVideo)) {
- camera.setCaptureMode(QCamera::CaptureVideo);
- QCOMPARE(camera.captureMode(), QCamera::CaptureStillImage);
- QSKIP("Video capture not supported");
- }
-
- camera.setCaptureMode(QCamera::CaptureVideo);
- QCOMPARE(camera.captureMode(), QCamera::CaptureVideo);
- QTRY_COMPARE(captureModeSignal.size(), 1);
- QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureModes>(), QCamera::CaptureVideo);
- captureModeSignal.clear();
-
- camera.load();
- QTRY_COMPARE(camera.status(), QCamera::LoadedStatus);
- //capture mode should still be video
- QCOMPARE(camera.captureMode(), QCamera::CaptureVideo);
-
- //it should be possible to switch capture mode in Loaded state
- camera.setCaptureMode(QCamera::CaptureStillImage);
- QTRY_COMPARE(captureModeSignal.size(), 1);
- QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureModes>(), QCamera::CaptureStillImage);
- captureModeSignal.clear();
-
- camera.setCaptureMode(QCamera::CaptureVideo);
- QTRY_COMPARE(captureModeSignal.size(), 1);
- QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureModes>(), QCamera::CaptureVideo);
- captureModeSignal.clear();
-
- camera.start();
- QTRY_COMPARE(camera.status(), QCamera::ActiveStatus);
- //capture mode should still be video
- QCOMPARE(camera.captureMode(), QCamera::CaptureVideo);
-
- stateChangedSignal.clear();
- //it should be possible to switch capture mode in Active state
- camera.setCaptureMode(QCamera::CaptureStillImage);
- //camera may leave Active status, but should return to Active
- QTest::qWait(10); //camera may leave Active status async
- QTRY_COMPARE(camera.status(), QCamera::ActiveStatus);
- QCOMPARE(camera.captureMode(), QCamera::CaptureStillImage);
- QVERIFY2(stateChangedSignal.isEmpty(), "camera should not change the state during capture mode changes");
-
- QCOMPARE(captureModeSignal.size(), 1);
- QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureModes>(), QCamera::CaptureStillImage);
- captureModeSignal.clear();
-
- camera.setCaptureMode(QCamera::CaptureVideo);
- //camera may leave Active status, but should return to Active
- QTest::qWait(10); //camera may leave Active status async
- QTRY_COMPARE(camera.status(), QCamera::ActiveStatus);
- QCOMPARE(camera.captureMode(), QCamera::CaptureVideo);
-
- QVERIFY2(stateChangedSignal.isEmpty(), "camera should not change the state during capture mode changes");
-
- QCOMPARE(captureModeSignal.size(), 1);
- QCOMPARE(captureModeSignal.last().first().value<QCamera::CaptureModes>(), QCamera::CaptureVideo);
- captureModeSignal.clear();
-
- camera.stop();
- QCOMPARE(camera.captureMode(), QCamera::CaptureVideo);
- camera.unload();
- QCOMPARE(camera.captureMode(), QCamera::CaptureVideo);
-
- QVERIFY2(errorSignal.isEmpty(), QString("Camera error: %1").arg(camera.errorString()).toLocal8Bit());
-}
-
void tst_QCameraBackend::testCameraCapture()
{
QCamera camera;
@@ -540,12 +463,6 @@ void tst_QCameraBackend::testVideoRecording()
QSignalSpy recorderErrorSignal(&recorder, SIGNAL(error(QMediaRecorder::Error)));
QSignalSpy recorderStatusSignal(&recorder, SIGNAL(statusChanged(QMediaRecorder::Status)));
- if (!camera->isCaptureModeSupported(QCamera::CaptureVideo)) {
- QSKIP("Video capture not supported");
- }
-
- camera->setCaptureMode(QCamera::CaptureVideo);
-
QMediaEncoderSettings videoSettings;
videoSettings.setVideoResolution(320, 240);
recorder.setEncoderSettings(videoSettings);
@@ -587,7 +504,6 @@ void tst_QCameraBackend::testVideoRecording()
QVERIFY(QFileInfo(fileName).size() > 0);
QFile(fileName).remove();
- camera->setCaptureMode(QCamera::CaptureStillImage);
QTRY_COMPARE(recorder.status(), QMediaRecorder::UnloadedStatus);
QCOMPARE(recorderStatusSignal.last().first().value<QMediaRecorder::Status>(), recorder.status());
}
diff --git a/tests/auto/unit/mockbackend/mockcameracontrol.h b/tests/auto/unit/mockbackend/mockcameracontrol.h
index 25262e23b..5a3cdd411 100644
--- a/tests/auto/unit/mockbackend/mockcameracontrol.h
+++ b/tests/auto/unit/mockbackend/mockcameracontrol.h
@@ -41,7 +41,6 @@ public:
MockCameraControl(QObject *parent = 0):
QCameraControl(parent),
m_state(QCamera::UnloadedState),
- m_captureMode(QCamera::CaptureStillImage),
m_status(QCamera::UnloadedStatus),
m_propertyChangesSupported(false)
{
@@ -75,26 +74,10 @@ public:
QCamera::Status status() const { return m_status; }
- QCamera::CaptureModes captureMode() const { return m_captureMode; }
- void setCaptureMode(QCamera::CaptureModes mode)
- {
- if (m_captureMode != mode) {
- if (m_state == QCamera::ActiveState && !m_propertyChangesSupported)
- return;
- m_captureMode = mode;
- emit captureModeChanged(mode);
- }
- }
-
- bool isCaptureModeSupported(QCamera::CaptureModes mode) const
- {
- return mode == QCamera::CaptureStillImage || mode == QCamera::CaptureVideo;
- }
-
bool canChangeProperty(PropertyChangeType changeType, QCamera::Status status) const
{
Q_UNUSED(status);
- if (changeType == QCameraControl::ImageEncodingSettings && m_captureMode == QCamera::CaptureVideo)
+ if (changeType == QCameraControl::ImageEncodingSettings)
return true;
else if (changeType== QCameraControl::VideoEncodingSettings)
return true;
@@ -123,7 +106,6 @@ public:
void setVideoSurface(QAbstractVideoSurface *) {}
QCamera::State m_state;
- QCamera::CaptureModes m_captureMode;
QCamera::Status m_status;
QCameraInfo m_camera;
bool m_propertyChangesSupported;
diff --git a/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp b/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp
index f280389db..22a94c997 100644
--- a/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp
+++ b/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp
@@ -80,12 +80,8 @@ private slots:
void testCaptureDestination();
void testConstructor();
- void testCaptureMode();
- void testIsCaptureModeSupported();
void testQCameraIsAvailable();
void testQCameraIsNotAvailable();
- void testSetCaptureMode();
- void testCaptureModeChangedSignal();
void testErrorSignal();
void testError();
void testErrorString();
@@ -102,7 +98,6 @@ private slots:
// Test cases for QCameraControl class.
void testCameraControl();
- void testCaptureModeChanged_signal();
void testEnumsOfQCameraControl();
// Test case for QCameraImageProcessing class
@@ -723,75 +718,6 @@ void tst_QCamera::testCameraEncodingProperyChange()
QCOMPARE(statusChangedSignal.count(), 1);
stateChangedSignal.clear();
statusChangedSignal.clear();
-
-
- camera.setCaptureMode(QCamera::CaptureVideo);
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QCOMPARE(camera.status(), QCamera::LoadedStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QTRY_COMPARE(camera.status(), QCamera::ActiveStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- //backens should not be stopped since the capture mode is Video
- imageCapture.setEncodingSettings(QImageEncoderSettings());
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 0);
-
- camera.setCaptureMode(QCamera::CaptureStillImage);
-
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QTRY_COMPARE(camera.status(), QCamera::ActiveStatus);
-
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- //the settings change should trigger camera stop/start
- imageCapture.setEncodingSettings(QImageEncoderSettings());
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QCOMPARE(camera.status(), QCamera::LoadedStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QTRY_COMPARE(camera.status(), QCamera::ActiveStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- //the settings change should trigger camera stop/start only once
- camera.setCaptureMode(QCamera::CaptureVideo);
- camera.setCaptureMode(QCamera::CaptureStillImage);
- imageCapture.setEncodingSettings(QImageEncoderSettings());
- imageCapture.setEncodingSettings(QImageEncoderSettings());
-
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QCOMPARE(camera.status(), QCamera::LoadedStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QTRY_COMPARE(camera.status(), QCamera::ActiveStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
}
void tst_QCamera::testSetVideoOutput()
@@ -871,8 +797,6 @@ void tst_QCamera::testEnumDebug()
qDebug() << QCamera::ActiveState;
QTest::ignoreMessage(QtDebugMsg, "QCamera::ActiveStatus");
qDebug() << QCamera::ActiveStatus;
- QTest::ignoreMessage(QtDebugMsg, "QCamera::CaptureVideo");
- qDebug() << QCamera::CaptureVideo;
QTest::ignoreMessage(QtDebugMsg, "QCamera::CameraError");
qDebug() << QCamera::CameraError;
QTest::ignoreMessage(QtDebugMsg, "QCameraInfo::FrontFace ");
@@ -945,38 +869,6 @@ void tst_QCamera::testConstructor()
}
}
-/* captureModeChanged Signal test case. */
-void tst_QCamera::testCaptureModeChanged_signal()
-{
- MockCameraControl *m_cameraControl= new MockCameraControl(this);
- QSignalSpy spy(m_cameraControl, SIGNAL(captureModeChanged(QCamera::CaptureModes)));
- QVERIFY(spy.size() == 0);
-
- m_cameraControl->setCaptureMode(QCamera::CaptureVideo);
- QVERIFY(spy.size() == 1);
-
- m_cameraControl->setCaptureMode(QCamera::CaptureStillImage);
- QVERIFY(spy.size() == 2);
-}
-
-/* Test case for captureMode */
-void tst_QCamera::testCaptureMode()
-{
- QCamera camera;
- QVERIFY(camera.captureMode() == QCamera::CaptureStillImage);
-
- camera.setCaptureMode(QCamera::CaptureVideo);
- QVERIFY(camera.captureMode() == QCamera::CaptureVideo);
-}
-
-/* Test case for isCaptureModeSupported */
-void tst_QCamera::testIsCaptureModeSupported()
-{
- QCamera camera;
- QVERIFY(camera.isCaptureModeSupported(QCamera::CaptureStillImage) == true);
- QVERIFY(camera.isCaptureModeSupported(QCamera::CaptureVideo) == true);
-}
-
/* Test case for isAvailable */
void tst_QCamera::testQCameraIsAvailable()
{
@@ -996,38 +888,6 @@ void tst_QCamera::testQCameraIsNotAvailable()
integration->setFlags({});
}
-/* Test case for setCaptureMode() */
-void tst_QCamera::testSetCaptureMode()
-{
- QCamera camera;
-
- /* Set the capture mode and verify if it set correctly */
- camera.setCaptureMode(QCamera::CaptureVideo);
- QVERIFY(camera.captureMode() == QCamera::CaptureVideo);
-
- camera.setCaptureMode(QCamera::CaptureStillImage);
- QVERIFY(camera.captureMode() == QCamera::CaptureStillImage);
-}
-
-/* Test case for signal captureModeChanged(QCamera::CaptureModes) */
-void tst_QCamera::testCaptureModeChangedSignal()
-{
- QCamera camera;
- QVERIFY(camera.captureMode() == QCamera::CaptureStillImage);
-
- qRegisterMetaType<QCamera::CaptureModes>("QCamera::CaptureModes");
-
- /* Spy the signal */
- QSignalSpy lockCaptureModeChangedSignal(&camera, SIGNAL(captureModeChanged(QCamera::CaptureModes)));
-
- /* set the capture mode and Verify if the signal is emitted */
- camera.setCaptureMode(QCamera::CaptureVideo);
- QVERIFY(camera.captureMode() == QCamera::CaptureVideo);
- QCOMPARE(lockCaptureModeChangedSignal.count(), 1);
- QCamera::CaptureModes lockCaptureMode = qvariant_cast<QCamera::CaptureModes >(lockCaptureModeChangedSignal.at(0).at(0));
- QVERIFY(lockCaptureMode == QCamera::CaptureVideo);
-}
-
/* Test case for verifying if error signal generated correctly */
void tst_QCamera::testErrorSignal()
{
@@ -1130,9 +990,6 @@ void tst_QCamera::testEnumsOfQCameraControl()
bool result;
// In still mode, can't change much
- QVERIFY(m_cameraControl->captureMode() == QCamera::CaptureStillImage);
- result = m_cameraControl->canChangeProperty(MockCameraControl::CaptureMode, QCamera::ActiveStatus);
- QVERIFY(!result);
result = m_cameraControl->canChangeProperty(MockCameraControl::ImageEncodingSettings, QCamera::ActiveStatus);
QVERIFY(!result);
result = m_cameraControl->canChangeProperty(MockCameraControl::VideoEncodingSettings, QCamera::ActiveStatus);
@@ -1141,18 +998,12 @@ void tst_QCamera::testEnumsOfQCameraControl()
QVERIFY(!result);
// In video mode can change image encoding settings
- m_cameraControl->setCaptureMode(QCamera::CaptureVideo);
- result = m_cameraControl->canChangeProperty(MockCameraControl::ImageEncodingSettings, QCamera::ActiveStatus);
- QVERIFY(result);
result = m_cameraControl->canChangeProperty(MockCameraControl::VideoEncodingSettings, QCamera::ActiveStatus);
QVERIFY(result);
result = m_cameraControl->canChangeProperty(MockCameraControl::Viewfinder, QCamera::ActiveStatus);
QVERIFY(!result);
// Flip the allow everything bit
- m_cameraControl->m_propertyChangesSupported = true;
- result = m_cameraControl->canChangeProperty(MockCameraControl::CaptureMode, QCamera::ActiveStatus);
- QVERIFY(result);
result = m_cameraControl->canChangeProperty(MockCameraControl::ImageEncodingSettings, QCamera::ActiveStatus);
QVERIFY(result);
result = m_cameraControl->canChangeProperty(MockCameraControl::VideoEncodingSettings, QCamera::ActiveStatus);
diff --git a/tests/auto/unit/multimediawidgets/qcamerawidgets/tst_qcamerawidgets.cpp b/tests/auto/unit/multimediawidgets/qcamerawidgets/tst_qcamerawidgets.cpp
index f2f310365..a74d0b998 100644
--- a/tests/auto/unit/multimediawidgets/qcamerawidgets/tst_qcamerawidgets.cpp
+++ b/tests/auto/unit/multimediawidgets/qcamerawidgets/tst_qcamerawidgets.cpp
@@ -109,100 +109,6 @@ void tst_QCameraWidgets::testCameraEncodingProperyChange()
QCOMPARE(statusChangedSignal.count(), 1);
stateChangedSignal.clear();
statusChangedSignal.clear();
-
-
- camera.setCaptureMode(QCamera::CaptureVideo);
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QCOMPARE(camera.status(), QCamera::LoadedStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QTRY_COMPARE(camera.status(), QCamera::ActiveStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- //backens should not be stopped since the capture mode is Video
- imageCapture.setEncodingSettings(QImageEncoderSettings());
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 0);
-
- camera.setCaptureMode(QCamera::CaptureStillImage);
- QTRY_COMPARE(camera.status(), QCamera::ActiveStatus);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- //the settings change should trigger camera stop/start
- imageCapture.setEncodingSettings(QImageEncoderSettings());
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QCOMPARE(camera.status(), QCamera::LoadedStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QTRY_COMPARE(camera.status(), QCamera::ActiveStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- //the settings change should trigger camera stop/start only once
- camera.setCaptureMode(QCamera::CaptureVideo);
- camera.setCaptureMode(QCamera::CaptureStillImage);
- imageCapture.setEncodingSettings(QImageEncoderSettings());
- imageCapture.setEncodingSettings(QImageEncoderSettings());
-
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QCOMPARE(camera.status(), QCamera::LoadedStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QTRY_COMPARE(camera.status(), QCamera::ActiveStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- //setting the viewfinder should also trigger backend to be restarted:
- camera.setViewfinder(new QGraphicsVideoItem());
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QCOMPARE(camera.status(), QCamera::LoadedStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
-
- QTRY_COMPARE(camera.status(), QCamera::ActiveStatus);
-
- auto *mockCameraService = mockIntegration->lastCaptureService();
- mockCameraService->mockCameraControl->m_propertyChangesSupported = true;
- //the changes to encoding settings,
- //capture mode and encoding parameters should not trigger service restart
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- camera.setCaptureMode(QCamera::CaptureVideo);
- camera.setCaptureMode(QCamera::CaptureStillImage);
- imageCapture.setEncodingSettings(QImageEncoderSettings());
- imageCapture.setEncodingSettings(QImageEncoderSettings());
- camera.setViewfinder(new QGraphicsVideoItem());
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 0);
}
void tst_QCameraWidgets::testSetVideoOutput()