diff options
Diffstat (limited to 'src/plugins/gstreamer/camerabin/camerabinserviceplugin.h')
-rw-r--r-- | src/plugins/gstreamer/camerabin/camerabinserviceplugin.h | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/plugins/gstreamer/camerabin/camerabinserviceplugin.h b/src/plugins/gstreamer/camerabin/camerabinserviceplugin.h index 50ffc59b2..6b192d8ea 100644 --- a/src/plugins/gstreamer/camerabin/camerabinserviceplugin.h +++ b/src/plugins/gstreamer/camerabin/camerabinserviceplugin.h @@ -44,7 +44,9 @@ #define CAMERABINSERVICEPLUGIN_H #include <qmediaserviceproviderplugin.h> -#include <QtCore/QObject> +#include <private/qgstreamervideoinputdevicecontrol_p.h> + +#include <gst/gst.h> QT_BEGIN_NAMESPACE @@ -53,13 +55,18 @@ class CameraBinServicePlugin , public QMediaServiceSupportedDevicesInterface , public QMediaServiceDefaultDeviceInterface , public QMediaServiceFeaturesInterface + , public QMediaServiceCameraInfoInterface { Q_OBJECT Q_INTERFACES(QMediaServiceSupportedDevicesInterface) Q_INTERFACES(QMediaServiceDefaultDeviceInterface) Q_INTERFACES(QMediaServiceFeaturesInterface) + Q_INTERFACES(QMediaServiceCameraInfoInterface) Q_PLUGIN_METADATA(IID "org.qt-project.qt.mediaserviceproviderfactory/5.0" FILE "camerabin.json") public: + CameraBinServicePlugin(); + ~CameraBinServicePlugin(); + QMediaService* create(QString const& key); void release(QMediaService *service); @@ -70,12 +77,13 @@ public: QString deviceDescription(const QByteArray &service, const QByteArray &device); QVariant deviceProperty(const QByteArray &service, const QByteArray &device, const QByteArray &property); + QCamera::Position cameraPosition(const QByteArray &device) const; + int cameraOrientation(const QByteArray &device) const; + private: - void updateDevices() const; + GstElementFactory *sourceFactory() const; - mutable QByteArray m_defaultCameraDevice; - mutable QList<QByteArray> m_cameraDevices; - mutable QStringList m_cameraDescriptions; + mutable GstElementFactory *m_sourceFactory; }; QT_END_NAMESPACE |