summaryrefslogtreecommitdiffstats
path: root/src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.h
diff options
context:
space:
mode:
authorTimur Pocheptsov <Timur.Pocheptsov@digia.com>2015-02-10 09:29:29 +0100
committerYoann Lopes <yoann.lopes@theqtcompany.com>2015-03-02 12:44:41 +0000
commit985ee3261b3c82ddad87124657ee3fb61e311a4d (patch)
tree921710a9744e9ba5e9029a6af12b145ab1b6afdc /src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.h
parent0d783b730372ffaeebc22e882a3c65d83445932f (diff)
Viewfinder settings control (1) for OS X/iOS
QCameraViewfinderSettingsControl - version for AVFoundation plugin ('obsolete' viewfinder settings control interface, camera session uses v2 instead). v1 is implemented using v2 (the v2 object from camera service). Change-Id: I81207b52b0ba5a67e64465f0e5e0c80d7267df3e Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Diffstat (limited to 'src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.h')
-rw-r--r--src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.h b/src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.h
index d2864c62a..fccc938a9 100644
--- a/src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.h
+++ b/src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.h
@@ -38,6 +38,7 @@
#include <QtMultimedia/qcameraviewfindersettings.h>
#include <QtMultimedia/qvideoframe.h>
+#include <QtCore/qpointer.h>
#include <QtCore/qglobal.h>
#include <QtCore/qsize.h>
@@ -56,6 +57,7 @@ class AVFCameraViewfinderSettingsControl2 : public QCameraViewfinderSettingsCont
Q_OBJECT
friend class AVFCameraSession;
+ friend class AVFCameraViewfinderSettingsControl;
public:
AVFCameraViewfinderSettingsControl2(AVFCameraService *service);
@@ -86,6 +88,27 @@ private:
mutable AVCaptureConnection *m_videoConnection;
};
+class AVFCameraViewfinderSettingsControl : public QCameraViewfinderSettingsControl
+{
+ Q_OBJECT
+public:
+ AVFCameraViewfinderSettingsControl(AVFCameraService *service);
+
+ bool isViewfinderParameterSupported(ViewfinderParameter parameter) const Q_DECL_OVERRIDE;
+ QVariant viewfinderParameter(ViewfinderParameter parameter) const Q_DECL_OVERRIDE;
+ void setViewfinderParameter(ViewfinderParameter parameter, const QVariant &value) Q_DECL_OVERRIDE;
+
+private:
+ void setResolution(const QVariant &resolution);
+ void setAspectRatio(const QVariant &aspectRatio);
+ void setFrameRate(const QVariant &fps, bool max);
+ void setPixelFormat(const QVariant &pf);
+ bool initSettingsControl() const;
+
+ AVFCameraService *m_service;
+ mutable QPointer<AVFCameraViewfinderSettingsControl2> m_settingsControl;
+};
+
QT_END_NAMESPACE
#endif