summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer/camerabin/camerabinserviceplugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/gstreamer/camerabin/camerabinserviceplugin.h')
-rw-r--r--src/plugins/gstreamer/camerabin/camerabinserviceplugin.h18
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