From 13e40d522f6992d7fff38581e4b0005129669bde Mon Sep 17 00:00:00 2001 From: Yoann Lopes Date: Thu, 13 Aug 2015 16:52:57 +0200 Subject: 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 --- src/plugins/directshow/camera/dscamerasession.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/plugins') 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; -- cgit v1.2.3