diff options
author | Timur Pocheptsov <Timur.Pocheptsov@digia.com> | 2015-02-10 09:29:29 +0100 |
---|---|---|
committer | Yoann Lopes <yoann.lopes@theqtcompany.com> | 2015-03-02 12:44:41 +0000 |
commit | 985ee3261b3c82ddad87124657ee3fb61e311a4d (patch) | |
tree | 921710a9744e9ba5e9029a6af12b145ab1b6afdc /src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.h | |
parent | 0d783b730372ffaeebc22e882a3c65d83445932f (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.h | 23 |
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 |