diff options
author | Yoann Lopes <yoann.lopes@theqtcompany.com> | 2015-01-19 14:20:53 +0100 |
---|---|---|
committer | Yoann Lopes <yoann.lopes@theqtcompany.com> | 2015-02-18 13:15:09 +0000 |
commit | e4bf7d90bf32031641892783cc53f7712cb1c072 (patch) | |
tree | ec815018d3fe64ea4e6fb8924355e1dbe09aa74f /src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp | |
parent | 82e71d733fb9f0d92c1accc3f4561e4ce7be3e79 (diff) |
GStreamer: implemented QCameraViewfinderSettingsControl2.
Change-Id: I4436e39c152f6c251792c1504d4a7b57db7b9d9a
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Diffstat (limited to 'src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp')
-rw-r--r-- | src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp | 53 |
1 files changed, 24 insertions, 29 deletions
diff --git a/src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp b/src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp index 6b2236c2f..8155c182a 100644 --- a/src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp +++ b/src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Jolla Ltd. +** Copyright (C) 2015 The Qt Company Ltd. ** Contact: http://www.qt.io/licensing/ ** ** This file is part of the Qt Toolkit. @@ -33,14 +34,14 @@ #include "camerabinviewfindersettings.h" - +#include "camerabinsession.h" QT_BEGIN_NAMESPACE -CameraBinViewfinderSettings::CameraBinViewfinderSettings(QObject *parent) - : QCameraViewfinderSettingsControl(parent), - m_minimumFrameRate(0), - m_maximumFrameRate(0) + +CameraBinViewfinderSettings::CameraBinViewfinderSettings(CameraBinSession *session) + : QCameraViewfinderSettingsControl(session) + , m_session(session) { } @@ -52,11 +53,11 @@ bool CameraBinViewfinderSettings::isViewfinderParameterSupported(ViewfinderParam { switch (parameter) { case Resolution: + case PixelAspectRatio: case MinimumFrameRate: case MaximumFrameRate: - return true; - case PixelAspectRatio: case PixelFormat: + return true; case UserParameter: return false; } @@ -67,13 +68,15 @@ QVariant CameraBinViewfinderSettings::viewfinderParameter(ViewfinderParameter pa { switch (parameter) { case Resolution: - return m_resolution; + return m_session->viewfinderSettings().resolution(); + case PixelAspectRatio: + return m_session->viewfinderSettings().pixelAspectRatio(); case MinimumFrameRate: - return m_minimumFrameRate; + return m_session->viewfinderSettings().minimumFrameRate(); case MaximumFrameRate: - return m_maximumFrameRate; - case PixelAspectRatio: + return m_session->viewfinderSettings().maximumFrameRate(); case PixelFormat: + return m_session->viewfinderSettings().pixelFormat(); case UserParameter: return QVariant(); } @@ -82,36 +85,28 @@ QVariant CameraBinViewfinderSettings::viewfinderParameter(ViewfinderParameter pa void CameraBinViewfinderSettings::setViewfinderParameter(ViewfinderParameter parameter, const QVariant &value) { + QCameraViewfinderSettings settings = m_session->viewfinderSettings(); + switch (parameter) { case Resolution: - m_resolution = value.toSize(); + settings.setResolution(value.toSize()); + break; + case PixelAspectRatio: + settings.setPixelAspectRatio(value.toSize()); break; case MinimumFrameRate: - m_minimumFrameRate = value.toFloat(); + settings.setMinimumFrameRate(value.toReal()); break; case MaximumFrameRate: - m_maximumFrameRate = value.toFloat(); + settings.setMaximumFrameRate(value.toReal()); break; - case PixelAspectRatio: case PixelFormat: + settings.setPixelFormat(qvariant_cast<QVideoFrame::PixelFormat>(value)); case UserParameter: break; } -} - -QSize CameraBinViewfinderSettings::resolution() const -{ - return m_resolution; -} -qreal CameraBinViewfinderSettings::minimumFrameRate() const -{ - return m_minimumFrameRate; -} - -qreal CameraBinViewfinderSettings::maximumFrameRate() const -{ - return m_maximumFrameRate; + m_session->setViewfinderSettings(settings); } QT_END_NAMESPACE |