diff options
author | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2015-01-08 14:10:20 +0100 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2015-01-12 19:52:13 +0100 |
commit | c93d83c4b7a5d1a5d7b35d93141d96abaf58ed7e (patch) | |
tree | 5c6fca35374d94ef914c9f9052e1577c1227918e /src/plugins/gstreamer/camerabin/camerabinviewfindersettings.cpp | |
parent | bf8f6c88c95a59977af81f33a3437e7b8bb08e19 (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.cpp | 28 |
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 |