diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-02-12 09:39:50 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-02-17 08:27:50 +0000 |
commit | 33186a09048faef5b9a6585b69e0a9cab4182a3e (patch) | |
tree | 28dfc734e1cf5928ae73c834391334713060fbd7 /src/imports/multimedia | |
parent | b94b47d472c70124c38d4feb546df26d8015b3be (diff) |
Get rid of QMediaService for the capture interface
Change-Id: I69a3d379bd2f1adbc4d583fd8eadcd3eb624a3af
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/imports/multimedia')
-rw-r--r-- | src/imports/multimedia/multimedia.cpp | 3 | ||||
-rw-r--r-- | src/imports/multimedia/qdeclarativecamera.cpp | 2 | ||||
-rw-r--r-- | src/imports/multimedia/qdeclarativecamera_p.h | 4 | ||||
-rw-r--r-- | src/imports/multimedia/qdeclarativetorch.cpp | 12 | ||||
-rw-r--r-- | src/imports/multimedia/qdeclarativetorch_p.h | 8 | ||||
-rw-r--r-- | src/imports/multimedia/qmldir | 1 |
6 files changed, 20 insertions, 10 deletions
diff --git a/src/imports/multimedia/multimedia.cpp b/src/imports/multimedia/multimedia.cpp index 94efe2c5f..b2bad8e8f 100644 --- a/src/imports/multimedia/multimedia.cpp +++ b/src/imports/multimedia/multimedia.cpp @@ -86,7 +86,6 @@ public: qmlRegisterType<QDeclarativeAudio>(uri, 5, 0, "MediaPlayer"); qmlRegisterType<QDeclarativeVideoOutput>(uri, 5, 0, "VideoOutput"); qmlRegisterType<QDeclarativeCamera>(uri, 5, 0, "Camera"); - qmlRegisterType<QDeclarativeTorch>(uri, 5, 0, "Torch"); qmlRegisterUncreatableType<QDeclarativeCameraCapture>(uri, 5, 0, "CameraCapture", tr("CameraCapture is provided by Camera")); qmlRegisterUncreatableType<QDeclarativeCameraRecorder>(uri, 5, 0, "CameraRecorder", @@ -97,6 +96,8 @@ public: tr("CameraFocus is provided by Camera")); qmlRegisterUncreatableType<QDeclarativeCameraFlash>(uri, 5, 0, "CameraFlash", tr("CameraFlash is provided by Camera")); + qmlRegisterUncreatableType<QDeclarativeTorch>(uri, 5, 0, "CameraTorch", + tr("CameraTorch is provided by Camera")); qmlRegisterUncreatableType<QDeclarativeCameraImageProcessing>(uri, 5, 0, "CameraImageProcessing", tr("CameraImageProcessing is provided by Camera")); diff --git a/src/imports/multimedia/qdeclarativecamera.cpp b/src/imports/multimedia/qdeclarativecamera.cpp index d334f5122..6536bc5dc 100644 --- a/src/imports/multimedia/qdeclarativecamera.cpp +++ b/src/imports/multimedia/qdeclarativecamera.cpp @@ -42,6 +42,7 @@ #include "qdeclarativecameraexposure_p.h" #include "qdeclarativecameraflash_p.h" +#include "qdeclarativetorch_p.h" #include "qdeclarativecamerafocus_p.h" #include "qdeclarativecameraimageprocessing_p.h" @@ -180,6 +181,7 @@ QDeclarativeCamera::QDeclarativeCamera(QObject *parent) : m_videoRecorder = new QDeclarativeCameraRecorder(m_camera); m_exposure = new QDeclarativeCameraExposure(m_camera); m_flash = new QDeclarativeCameraFlash(m_camera); + m_torch = new QDeclarativeTorch(m_camera); m_focus = new QDeclarativeCameraFocus(m_camera); m_imageProcessing = new QDeclarativeCameraImageProcessing(m_camera); diff --git a/src/imports/multimedia/qdeclarativecamera_p.h b/src/imports/multimedia/qdeclarativecamera_p.h index 0a57e708b..8e21ac290 100644 --- a/src/imports/multimedia/qdeclarativecamera_p.h +++ b/src/imports/multimedia/qdeclarativecamera_p.h @@ -70,6 +70,7 @@ QT_BEGIN_NAMESPACE class QDeclarativeCameraExposure; class QDeclarativeCameraFocus; class QDeclarativeCameraFlash; +class QDeclarativeTorch; class QDeclarativeCameraImageProcessing; class QDeclarativeMediaMetaData; class QDeclarativeCamera : public QObject, public QQmlParserStatus @@ -95,6 +96,7 @@ class QDeclarativeCamera : public QObject, public QQmlParserStatus Q_PROPERTY(QDeclarativeCameraRecorder* videoRecorder READ videoRecorder CONSTANT) Q_PROPERTY(QDeclarativeCameraExposure* exposure READ exposure CONSTANT) Q_PROPERTY(QDeclarativeCameraFlash* flash READ flash CONSTANT) + Q_PROPERTY(QDeclarativeTorch* torch READ torch CONSTANT) Q_PROPERTY(QDeclarativeCameraFocus* focus READ focus CONSTANT) Q_PROPERTY(QDeclarativeCameraImageProcessing* imageProcessing READ imageProcessing CONSTANT) Q_PROPERTY(QDeclarativeMediaMetaData *metaData READ metaData CONSTANT REVISION 1) @@ -213,6 +215,7 @@ public: QDeclarativeCameraRecorder *videoRecorder() { return m_videoRecorder; } QDeclarativeCameraExposure *exposure() { return m_exposure; } QDeclarativeCameraFlash *flash() { return m_flash; } + QDeclarativeTorch *torch() { return m_torch; } QDeclarativeCameraFocus *focus() { return m_focus; } QDeclarativeCameraImageProcessing *imageProcessing() { return m_imageProcessing; } @@ -284,6 +287,7 @@ private: QDeclarativeCameraRecorder *m_videoRecorder; QDeclarativeCameraExposure *m_exposure; QDeclarativeCameraFlash *m_flash; + QDeclarativeTorch *m_torch; QDeclarativeCameraFocus *m_focus; QDeclarativeCameraImageProcessing *m_imageProcessing; QDeclarativeMediaMetaData *m_metaData; diff --git a/src/imports/multimedia/qdeclarativetorch.cpp b/src/imports/multimedia/qdeclarativetorch.cpp index fa634cfcf..c544c0a4e 100644 --- a/src/imports/multimedia/qdeclarativetorch.cpp +++ b/src/imports/multimedia/qdeclarativetorch.cpp @@ -40,6 +40,7 @@ #include <QDebug> #include <QMediaService> #include <private/qmediaplatformcaptureinterface_p.h> +#include <qcameracontrol.h> #include "qdeclarativetorch_p.h" @@ -67,13 +68,14 @@ QT_BEGIN_NAMESPACE \endqml */ -QDeclarativeTorch::QDeclarativeTorch(QObject *parent) - : QObject(parent) +QDeclarativeTorch::QDeclarativeTorch(QCamera *camera) + : QObject(camera), + m_camera(camera) { - m_camera = new QCamera(this); + if (!camera) + return; auto *service = m_camera->captureInterface(); - - m_exposure = service ? service->requestControl<QCameraExposureControl*>() : 0; + m_exposure = service->cameraControl()->exposureControl(); if (m_exposure) connect(m_exposure, SIGNAL(actualValueChanged(int)), SLOT(parameterChanged(int))); diff --git a/src/imports/multimedia/qdeclarativetorch_p.h b/src/imports/multimedia/qdeclarativetorch_p.h index 70ee954f9..2180a5311 100644 --- a/src/imports/multimedia/qdeclarativetorch_p.h +++ b/src/imports/multimedia/qdeclarativetorch_p.h @@ -59,6 +59,8 @@ QT_BEGIN_NAMESPACE +class QDeclarativeCamera; + class QDeclarativeTorch : public QObject { Q_OBJECT @@ -68,7 +70,7 @@ class QDeclarativeTorch : public QObject // Errors? public: - explicit QDeclarativeTorch(QObject *parent = 0); + explicit QDeclarativeTorch(QCamera *parent = 0); ~QDeclarativeTorch(); bool enabled() const; @@ -85,8 +87,8 @@ private slots: void parameterChanged(int parameter); private: - QCamera *m_camera; - QCameraExposureControl *m_exposure; + QCamera *m_camera = nullptr; + QCameraExposureControl *m_exposure = nullptr; }; QT_END_NAMESPACE diff --git a/src/imports/multimedia/qmldir b/src/imports/multimedia/qmldir index e7dcc3dd6..d68049f63 100644 --- a/src/imports/multimedia/qmldir +++ b/src/imports/multimedia/qmldir @@ -4,4 +4,3 @@ classname QMultimediaDeclarativeModule typeinfo plugins.qmltypes typeinfo plugins.qmltypes Video 5.0 Video.qml - |