diff options
author | Yoann Lopes <yoann.lopes@theqtcompany.com> | 2015-08-13 16:52:57 +0200 |
---|---|---|
committer | Yoann Lopes <yoann.lopes@theqtcompany.com> | 2015-08-18 12:58:00 +0000 |
commit | 13e40d522f6992d7fff38581e4b0005129669bde (patch) | |
tree | 02b0dd23fae410eabf0d0a8b38fa6faac3997818 /src/plugins/directshow | |
parent | e0b9217d27509ded76daf6b18e1ed4c0fab280c7 (diff) | |
download | qtmultimedia-13e40d522f6992d7fff38581e4b0005129669bde.tar.gz |
Fix QCamera viewfinder capabilities functions..
- Filtering the results for a specific pixel aspect ratio would return
wrong values.
- Correctly sort the frame rate ranges returned by
supportedViewfinderFrameRateRanges().
Added missing auto-tests for all viewfinder capabilities functions.
Change-Id: Idfb40d4139cc48a5996ce2ddd98131a2f5be76bb
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Diffstat (limited to 'src/plugins/directshow')
-rw-r--r-- | src/plugins/directshow/camera/dscamerasession.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/directshow/camera/dscamerasession.cpp b/src/plugins/directshow/camera/dscamerasession.cpp index a2586aa9d..2d3aa1bce 100644 --- a/src/plugins/directshow/camera/dscamerasession.cpp +++ b/src/plugins/directshow/camera/dscamerasession.cpp @@ -646,7 +646,8 @@ bool DSCameraSession::configurePreviewFormat() if ((m_viewfinderSettings.resolution().isEmpty() || m_viewfinderSettings.resolution() == s.resolution()) && (qFuzzyIsNull(m_viewfinderSettings.minimumFrameRate()) || qFuzzyCompare((float)m_viewfinderSettings.minimumFrameRate(), (float)s.minimumFrameRate())) && (qFuzzyIsNull(m_viewfinderSettings.maximumFrameRate()) || qFuzzyCompare((float)m_viewfinderSettings.maximumFrameRate(), (float)s.maximumFrameRate())) - && (m_viewfinderSettings.pixelFormat() == QVideoFrame::Format_Invalid || m_viewfinderSettings.pixelFormat() == s.pixelFormat())) { + && (m_viewfinderSettings.pixelFormat() == QVideoFrame::Format_Invalid || m_viewfinderSettings.pixelFormat() == s.pixelFormat()) + && (m_viewfinderSettings.pixelAspectRatio().isEmpty() || m_viewfinderSettings.pixelAspectRatio() == s.pixelAspectRatio())) { resolvedViewfinderSettings = s; break; } @@ -899,6 +900,7 @@ void DSCameraSession::updateSourceCapabilities() settings.setMinimumFrameRate(frameRateRange.minimumFrameRate); settings.setMaximumFrameRate(frameRateRange.maximumFrameRate); settings.setPixelFormat(pixelFormat); + settings.setPixelAspectRatio(1, 1); m_supportedViewfinderSettings.append(settings); AM_MEDIA_TYPE format; |