From 985ee3261b3c82ddad87124657ee3fb61e311a4d Mon Sep 17 00:00:00 2001 From: Timur Pocheptsov Date: Tue, 10 Feb 2015 09:29:29 +0100 Subject: 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 --- .../camera/avfcameraviewfindersettingscontrol.h | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.h') 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 #include +#include #include #include @@ -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 m_settingsControl; +}; + QT_END_NAMESPACE #endif -- cgit v1.2.3