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>
This commit is contained in:
@@ -72,6 +72,9 @@ static bool qt_sizeLessThan(const QSize &s1, const QSize &s2)
|
||||
|
||||
static bool qt_frameRateRangeLessThan(const QCamera::FrameRateRange &s1, const QCamera::FrameRateRange &s2)
|
||||
{
|
||||
if (s1.maximumFrameRate == s2.maximumFrameRate)
|
||||
return s1.minimumFrameRate < s2.minimumFrameRate;
|
||||
|
||||
return s1.maximumFrameRate < s2.maximumFrameRate;
|
||||
}
|
||||
|
||||
@@ -658,7 +661,7 @@ QList<QCameraViewfinderSettings> QCamera::supportedViewfinderSettings(const QCam
|
||||
&& (qFuzzyIsNull(settings.minimumFrameRate()) || qFuzzyCompare((float)settings.minimumFrameRate(), (float)s.minimumFrameRate()))
|
||||
&& (qFuzzyIsNull(settings.maximumFrameRate()) || qFuzzyCompare((float)settings.maximumFrameRate(), (float)s.maximumFrameRate()))
|
||||
&& (settings.pixelFormat() == QVideoFrame::Format_Invalid || settings.pixelFormat() == s.pixelFormat())
|
||||
&& (settings.pixelAspectRatio() == QSize(1, 1) || settings.pixelAspectRatio() == s.pixelAspectRatio())) {
|
||||
&& (settings.pixelAspectRatio().isEmpty() || settings.pixelAspectRatio() == s.pixelAspectRatio())) {
|
||||
results.append(s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,8 +50,7 @@ public:
|
||||
isNull(true),
|
||||
minimumFrameRate(0.0),
|
||||
maximumFrameRate(0.0),
|
||||
pixelFormat(QVideoFrame::Format_Invalid),
|
||||
pixelAspectRatio(1, 1)
|
||||
pixelFormat(QVideoFrame::Format_Invalid)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user