summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@theqtcompany.com>2015-01-08 14:10:20 +0100
committerLaszlo Agocs <laszlo.agocs@theqtcompany.com>2015-01-12 19:52:13 +0100
commitc93d83c4b7a5d1a5d7b35d93141d96abaf58ed7e (patch)
tree5c6fca35374d94ef914c9f9052e1577c1227918e /src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp
parentbf8f6c88c95a59977af81f33a3437e7b8bb08e19 (diff)
Add resolution and fps on mfw_v4lsrc
Add support for changing resolution and frame rate with mfw_v4lsrc. This is essential for embedded applications that are not happy with the default VGA@30. This makes constructs like the following functional on devices like i.MX6 with MIPI cameras: Camera { viewfinder { resolution: "320x240"; maximumFrameRate: 15 } } Change-Id: Ia297afdb5ca51c6e55ad45dce37fdab7da3a5cfb Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Diffstat (limited to 'src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp')
-rw-r--r--src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp28
1 files changed, 23 insertions, 5 deletions
diff --git a/src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp b/src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp
index 3f7d2f0cf..c5cdee40e 100644
--- a/src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp
+++ b/src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp
@@ -38,7 +38,9 @@
QT_BEGIN_NAMESPACE
CameraBinViewfinderSettings::CameraBinViewfinderSettings(QObject *parent)
- : QCameraViewfinderSettingsControl(parent)
+ : QCameraViewfinderSettingsControl(parent),
+ m_minimumFrameRate(0),
+ m_maximumFrameRate(0)
{
}
@@ -50,10 +52,10 @@ bool CameraBinViewfinderSettings::isViewfinderParameterSupported(ViewfinderParam
{
switch (parameter) {
case Resolution:
- return true;
- case PixelAspectRatio:
case MinimumFrameRate:
case MaximumFrameRate:
+ return true;
+ case PixelAspectRatio:
case PixelFormat:
case UserParameter:
return false;
@@ -66,9 +68,11 @@ QVariant CameraBinViewfinderSettings::viewfinderParameter(ViewfinderParameter pa
switch (parameter) {
case Resolution:
return m_resolution;
- case PixelAspectRatio:
case MinimumFrameRate:
+ return m_minimumFrameRate;
case MaximumFrameRate:
+ return m_maximumFrameRate;
+ case PixelAspectRatio:
case PixelFormat:
case UserParameter:
return QVariant();
@@ -82,9 +86,13 @@ void CameraBinViewfinderSettings::setViewfinderParameter(ViewfinderParameter par
case Resolution:
m_resolution = value.toSize();
break;
- case PixelAspectRatio:
case MinimumFrameRate:
+ m_minimumFrameRate = value.toFloat();
+ break;
case MaximumFrameRate:
+ m_maximumFrameRate = value.toFloat();
+ break;
+ case PixelAspectRatio:
case PixelFormat:
case UserParameter:
break;
@@ -96,4 +104,14 @@ QSize CameraBinViewfinderSettings::resolution() const
return m_resolution;
}
+qreal CameraBinViewfinderSettings::minimumFrameRate() const
+{
+ return m_minimumFrameRate;
+}
+
+qreal CameraBinViewfinderSettings::maximumFrameRate() const
+{
+ return m_maximumFrameRate;
+}
+
QT_END_NAMESPACE