summaryrefslogtreecommitdiffstats
path: root/src/plugins/avfoundation/camera/avfcamerasession.h
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@digia.com>2014-02-07 14:20:28 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-04 17:53:18 +0100
commit9a55f5ce5746fa1df6daa62a7111cb2d5ff5138d (patch)
treebeb13b03600a530a6820017dafa33cb0af364c6f /src/plugins/avfoundation/camera/avfcamerasession.h
parent70415c3d9752e357e8d49633cdd8e82d3519e59b (diff)
AVFoundation: implement QCameraInfoControl.
Change-Id: I05f3daa5c4acb90e046e26d6d577ae40dfed0e30 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Diffstat (limited to 'src/plugins/avfoundation/camera/avfcamerasession.h')
-rw-r--r--src/plugins/avfoundation/camera/avfcamerasession.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/plugins/avfoundation/camera/avfcamerasession.h b/src/plugins/avfoundation/camera/avfcamerasession.h
index 2630a35f7..5cc779f8b 100644
--- a/src/plugins/avfoundation/camera/avfcamerasession.h
+++ b/src/plugins/avfoundation/camera/avfcamerasession.h
@@ -55,6 +55,16 @@ class AVFCameraControl;
class AVFCameraService;
class AVFVideoRendererControl;
+struct AVFCameraInfo
+{
+ AVFCameraInfo() : position(QCamera::UnspecifiedPosition), orientation(0)
+ { }
+
+ QString description;
+ QCamera::Position position;
+ int orientation;
+};
+
class AVFCameraSession : public QObject
{
Q_OBJECT
@@ -62,6 +72,10 @@ public:
AVFCameraSession(AVFCameraService *service, QObject *parent = 0);
~AVFCameraSession();
+ static const QByteArray &defaultCameraDevice();
+ static const QList<QByteArray> &availableCameraDevices();
+ static AVFCameraInfo cameraDeviceInfo(const QByteArray &device);
+
void setVideoOutput(AVFVideoRendererControl *output);
AVCaptureSession *captureSession() const { return m_captureSession; }
AVCaptureDevice *videoCaptureDevice() const;
@@ -84,8 +98,13 @@ Q_SIGNALS:
void error(int error, const QString &errorString);
private:
+ static void updateCameraDevices();
void attachInputDevices();
+ static QByteArray m_defaultCameraDevice;
+ static QList<QByteArray> m_cameraDevices;
+ static QMap<QByteArray, AVFCameraInfo> m_cameraInfo;
+
AVFCameraService *m_service;
AVFVideoRendererControl *m_videoOutput;