summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@theqtcompany.com>2015-01-19 14:20:53 +0100
committerYoann Lopes <yoann.lopes@theqtcompany.com>2015-02-18 13:15:09 +0000
commite4bf7d90bf32031641892783cc53f7712cb1c072 (patch)
treeec815018d3fe64ea4e6fb8924355e1dbe09aa74f /src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp
parent82e71d733fb9f0d92c1accc3f4561e4ce7be3e79 (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.cpp53
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