From d9bfd52ff87d5fef11e1968432c36b1e8fa9c23a Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 5 Jan 2021 15:22:55 +0100 Subject: Fix compilation of the gstreamer mediacapture plugin Change-Id: I69b7e90a18a157d85cfbde58682f464feb017b2d Reviewed-by: Doris Verria Reviewed-by: Lars Knoll --- src/plugins/gstreamer/mediacapture/mediacapture.pro | 2 +- .../gstreamer/mediacapture/qgstreamercameracontrol.h | 15 +++++++++++++-- .../mediacapture/qgstreamercapturemetadatacontrol.h | 1 + .../gstreamer/mediacapture/qgstreamercaptureservice.cpp | 4 ++-- .../gstreamer/mediacapture/qgstreamercaptureservice.h | 7 +++---- .../mediacapture/qgstreamercaptureserviceplugin.cpp | 6 +++--- .../mediacapture/qgstreamercaptureserviceplugin.h | 2 +- .../mediacapture/qgstreamerimagecapturecontrol.h | 3 +++ .../gstreamer/mediacapture/qgstreamerv4l2input.cpp | 6 +++--- 9 files changed, 30 insertions(+), 16 deletions(-) (limited to 'src/plugins/gstreamer') diff --git a/src/plugins/gstreamer/mediacapture/mediacapture.pro b/src/plugins/gstreamer/mediacapture/mediacapture.pro index 17248a495..c2982b199 100644 --- a/src/plugins/gstreamer/mediacapture/mediacapture.pro +++ b/src/plugins/gstreamer/mediacapture/mediacapture.pro @@ -29,7 +29,7 @@ SOURCES += $$PWD/qgstreamercaptureservice.cpp \ $$PWD/qgstreamercaptureserviceplugin.cpp # Camera usage with gstreamer needs to have -#CONFIG += use_gstreamer_camera +CONFIG += use_gstreamer_camera use_gstreamer_camera:qtConfig(linux_v4l) { DEFINES += USE_GSTREAMER_CAMERA diff --git a/src/plugins/gstreamer/mediacapture/qgstreamercameracontrol.h b/src/plugins/gstreamer/mediacapture/qgstreamercameracontrol.h index 0e53f0890..dd082c031 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamercameracontrol.h +++ b/src/plugins/gstreamer/mediacapture/qgstreamercameracontrol.h @@ -66,12 +66,23 @@ public: bool isCaptureModeSupported(QCamera::CaptureModes mode) const override; - QCamera::LockTypes supportedLocks() const + bool canChangeProperty(PropertyChangeType changeType, QCamera::Status status) const override; + + QCamera::LockTypes supportedLocks() const override { return QCamera::NoLock; } - bool canChangeProperty(PropertyChangeType changeType, QCamera::Status status) const override; + QCamera::LockStatus lockStatus(QCamera::LockType /*lock*/) const override { return QCamera::Unlocked; } + + void searchAndLock(QCamera::LockTypes /*locks*/) override {} + void unlock(QCamera::LockTypes /*locks*/) override {} + + + QList supportedViewfinderSettings() const override { return {}; } + + QCameraViewfinderSettings viewfinderSettings() const override { return {}; } + void setViewfinderSettings(const QCameraViewfinderSettings &/*settings*/) override {} public slots: void reloadLater(); diff --git a/src/plugins/gstreamer/mediacapture/qgstreamercapturemetadatacontrol.h b/src/plugins/gstreamer/mediacapture/qgstreamercapturemetadatacontrol.h index 6839bbe68..33782d1b6 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamercapturemetadatacontrol.h +++ b/src/plugins/gstreamer/mediacapture/qgstreamercapturemetadatacontrol.h @@ -41,6 +41,7 @@ #define QGSTREAMERCAPTUREMETADATACONTROL_H #include +#include QT_BEGIN_NAMESPACE diff --git a/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.cpp b/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.cpp index dc99cbe0e..b7695852b 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.cpp +++ b/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.cpp @@ -144,7 +144,7 @@ QGstreamerCaptureService::~QGstreamerCaptureService() { } -QMediaControl *QGstreamerCaptureService::requestControl(const char *name) +QObject *QGstreamerCaptureService::requestControl(const char *name) { if (!m_captureSession) return 0; @@ -210,7 +210,7 @@ QMediaControl *QGstreamerCaptureService::requestControl(const char *name) return 0; } -void QGstreamerCaptureService::releaseControl(QMediaControl *control) +void QGstreamerCaptureService::releaseControl(QObject *control) { if (!control) { return; diff --git a/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.h b/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.h index aba98d495..a2be9c190 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.h +++ b/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.h @@ -41,7 +41,6 @@ #define QGSTREAMERCAPTURESERVICE_H #include -#include #include @@ -70,8 +69,8 @@ public: QGstreamerCaptureService(const QString &service, QObject *parent = 0); virtual ~QGstreamerCaptureService(); - QMediaControl *requestControl(const char *name) override; - void releaseControl(QMediaControl *) override; + QObject *requestControl(const char *name) override; + void releaseControl(QObject *) override; private: void setAudioPreview(GstElement *); @@ -86,7 +85,7 @@ private: QAudioInputSelectorControl *m_audioInputSelector; QVideoDeviceSelectorControl *m_videoInputDevice; - QMediaControl *m_videoOutput; + QObject *m_videoOutput; QGstreamerVideoRenderer *m_videoRenderer; QGstreamerVideoWindow *m_videoWindow; diff --git a/src/plugins/gstreamer/mediacapture/qgstreamercaptureserviceplugin.cpp b/src/plugins/gstreamer/mediacapture/qgstreamercaptureserviceplugin.cpp index 65f885d80..f40cd2918 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamercaptureserviceplugin.cpp +++ b/src/plugins/gstreamer/mediacapture/qgstreamercaptureserviceplugin.cpp @@ -71,13 +71,13 @@ void QGstreamerCaptureServicePlugin::release(QMediaService *service) } #if defined(USE_GSTREAMER_CAMERA) -QMediaServiceProviderHint::Features QGstreamerCaptureServicePlugin::supportedFeatures( +QMediaServiceFeaturesInterface::Features QGstreamerCaptureServicePlugin::supportedFeatures( const QByteArray &service) const { if (service == Q_MEDIASERVICE_CAMERA) - return QMediaServiceProviderHint::VideoSurface; + return QMediaServiceFeaturesInterface::VideoSurface; - return QMediaServiceProviderHint::Features(); + return QMediaServiceFeaturesInterface::Features(); } QByteArray QGstreamerCaptureServicePlugin::defaultDevice(const QByteArray &service) const diff --git a/src/plugins/gstreamer/mediacapture/qgstreamercaptureserviceplugin.h b/src/plugins/gstreamer/mediacapture/qgstreamercaptureserviceplugin.h index cfb573f64..ece0b00e6 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamercaptureserviceplugin.h +++ b/src/plugins/gstreamer/mediacapture/qgstreamercaptureserviceplugin.h @@ -71,7 +71,7 @@ public: void release(QMediaService *service) override; #if defined(USE_GSTREAMER_CAMERA) - QMediaServiceProviderHint::Features supportedFeatures(const QByteArray &service) const override; + QMediaServiceFeaturesInterface::Features supportedFeatures(const QByteArray &service) const override; QByteArray defaultDevice(const QByteArray &service) const override; QList devices(const QByteArray &service) const override; diff --git a/src/plugins/gstreamer/mediacapture/qgstreamerimagecapturecontrol.h b/src/plugins/gstreamer/mediacapture/qgstreamerimagecapturecontrol.h index f58cf09c5..75bca0b58 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamerimagecapturecontrol.h +++ b/src/plugins/gstreamer/mediacapture/qgstreamerimagecapturecontrol.h @@ -60,6 +60,9 @@ public: int capture(const QString &fileName) override; void cancelCapture() override; + QCameraImageCapture::CaptureDestinations captureDestination() const override { return QCameraImageCapture::CaptureToBuffer; } + virtual void setCaptureDestination(QCameraImageCapture::CaptureDestinations /*destination*/) override {} + private slots: void updateState(); diff --git a/src/plugins/gstreamer/mediacapture/qgstreamerv4l2input.cpp b/src/plugins/gstreamer/mediacapture/qgstreamerv4l2input.cpp index ef0832f7e..405437754 100644 --- a/src/plugins/gstreamer/mediacapture/qgstreamerv4l2input.cpp +++ b/src/plugins/gstreamer/mediacapture/qgstreamerv4l2input.cpp @@ -243,8 +243,8 @@ void QGstreamerV4L2Input::updateSupportedResolutions(const QByteArray &device) break; //stepwise values are returned only for index 0 } } - allFrameRates.unite(frameRates.toSet()); - m_ratesByResolution[s].unite(frameRates.toSet()); + allFrameRates.unite(QSet{frameRates.constBegin(), frameRates.constEnd()}); + m_ratesByResolution[s].unite(QSet{frameRates.constBegin(), frameRates.constEnd()}); } } @@ -256,7 +256,7 @@ void QGstreamerV4L2Input::updateSupportedResolutions(const QByteArray &device) std::sort(m_frameRates.begin(), m_frameRates.end()); - m_resolutions = allResolutions.toList(); + m_resolutions = QList{allResolutions.constBegin(), allResolutions.constEnd()}; std::sort(m_resolutions.begin(), m_resolutions.end()); //qDebug() << "frame rates:" << m_frameRates; -- cgit v1.2.3