diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-03-05 11:16:53 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-03-16 12:58:22 +0000 |
commit | c93b4b54c44ca28e34fe7e12cc2fb279f3e84b54 (patch) | |
tree | 74dcff9f6fca1d5a7706b242b0a9bae8c9bd38fc /src/multimedia/recording/qmediarecorder.h | |
parent | 4c7a93115a6346d318c4a23f70cf858781ec4591 (diff) |
Make QMediaCaptureSession the new central class for media capturing
You now need to instantiate a capture session and hook up
camera, image capture and recording to it.
This gives a cleaner architecture for the whole capturing process.
Change-Id: I7c7f6c4a841512b038834f4653ef7ab790c43f8f
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/multimedia/recording/qmediarecorder.h')
-rw-r--r-- | src/multimedia/recording/qmediarecorder.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/multimedia/recording/qmediarecorder.h b/src/multimedia/recording/qmediarecorder.h index b024b8a22..eb0c02b56 100644 --- a/src/multimedia/recording/qmediarecorder.h +++ b/src/multimedia/recording/qmediarecorder.h @@ -59,6 +59,7 @@ class QMediaRecorderService; class QAudioEncoderSettings; class QVideoEncoderSettings; class QAudioDeviceInfo; +class QMediaCaptureSession; class QMediaRecorderPrivate; class Q_MULTIMEDIA_EXPORT QMediaRecorder : public QObject @@ -107,8 +108,7 @@ public: AudioAndVideo }; - QMediaRecorder(CaptureMode mode = AudioOnly, QObject *parent = nullptr); - explicit QMediaRecorder(QCamera *mediaSource, QObject *parent = nullptr); + QMediaRecorder(QObject *parent = nullptr); ~QMediaRecorder(); bool isAvailable() const; @@ -139,7 +139,7 @@ public: QAudioDeviceInfo audioInput() const; QCameraInfo videoInput() const; - QCamera *camera() const; + QMediaCaptureSession *captureSession() const; public Q_SLOTS: void record(); @@ -162,11 +162,13 @@ Q_SIGNALS: void metaDataChanged(); -protected: - bool setCamera(QCamera *object); +private: + // This is here to flag an incompatibilities with Qt 5 + QMediaRecorder(QCamera *) = delete; QMediaRecorderPrivate *d_ptr; -private: + friend class QMediaCaptureSession; + void setCaptureSession(QMediaCaptureSession *session); Q_DISABLE_COPY(QMediaRecorder) Q_DECLARE_PRIVATE(QMediaRecorder) Q_PRIVATE_SLOT(d_func(), void _q_stateChanged(QMediaRecorder::State)) |