diff options
Diffstat (limited to 'src/plugins/avfoundation/camera/avfcamerasession.h')
-rw-r--r-- | src/plugins/avfoundation/camera/avfcamerasession.h | 19 |
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; |