summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-01-26 17:30:39 +0100
committerLars Knoll <lars.knoll@qt.io>2021-01-29 08:54:04 +0000
commit5cf5e1e95ac7b01df4235475c2a1cdc9a4078b21 (patch)
treeff087bf819da2665c196e800d318cac81e6f2da4 /tests
parent2fb1e26a780c4caf0ae6aef40fd6852275dc5765 (diff)
Get rid of QCameraViewFinderSettings
The outputs should control the camera settings that are required. Before one could define resolutions and framerates in several places, not it's the requested outputs that define it. Change-Id: Iab76abac84480e6200b9fc5b058fc2a02b0a8ce0 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/unit/mockbackend/mockcameracontrol.h60
-rw-r--r--tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp580
2 files changed, 0 insertions, 640 deletions
diff --git a/tests/auto/unit/mockbackend/mockcameracontrol.h b/tests/auto/unit/mockbackend/mockcameracontrol.h
index cb48e8be7..5ca149391 100644
--- a/tests/auto/unit/mockbackend/mockcameracontrol.h
+++ b/tests/auto/unit/mockbackend/mockcameracontrol.h
@@ -45,48 +45,6 @@ public:
m_status(QCamera::UnloadedStatus),
m_propertyChangesSupported(false)
{
- QCameraViewfinderSettings s;
- s.setResolution(640, 480);
- s.setMinimumFrameRate(30);
- s.setMaximumFrameRate(30);
- s.setPixelFormat(QVideoFrame::Format_NV12);
- s.setPixelAspectRatio(1, 1);
- supportedSettings.append(s);
-
- s.setResolution(1280, 720);
- s.setMinimumFrameRate(10);
- s.setMaximumFrameRate(10);
- s.setPixelFormat(QVideoFrame::Format_NV12);
- s.setPixelAspectRatio(1, 1);
- supportedSettings.append(s);
-
- s.setResolution(1920, 1080);
- s.setMinimumFrameRate(5);
- s.setMaximumFrameRate(10);
- s.setPixelFormat(QVideoFrame::Format_BGR32);
- s.setPixelAspectRatio(2, 1);
- supportedSettings.append(s);
-
- s.setResolution(1280, 720);
- s.setMinimumFrameRate(10);
- s.setMaximumFrameRate(10);
- s.setPixelFormat(QVideoFrame::Format_YV12);
- s.setPixelAspectRatio(1, 1);
- supportedSettings.append(s);
-
- s.setResolution(1280, 720);
- s.setMinimumFrameRate(30);
- s.setMaximumFrameRate(30);
- s.setPixelFormat(QVideoFrame::Format_YV12);
- s.setPixelAspectRatio(1, 1);
- supportedSettings.append(s);
-
- s.setResolution(320, 240);
- s.setMinimumFrameRate(30);
- s.setMaximumFrameRate(30);
- s.setPixelFormat(QVideoFrame::Format_NV12);
- s.setPixelAspectRatio(1, 1);
- supportedSettings.append(s);
}
~MockCameraControl() {}
@@ -195,24 +153,6 @@ public:
}
}
- QCameraViewfinderSettings viewfinderSettings() const
- {
- return settings;
- }
-
- void setViewfinderSettings(const QCameraViewfinderSettings &s)
- {
- settings = s;
- }
-
- QList<QCameraViewfinderSettings> supportedViewfinderSettings() const
- {
- return supportedSettings;
- }
-
- QCameraViewfinderSettings settings;
- QList<QCameraViewfinderSettings> supportedSettings;
-
/* helper method to emit the signal with LockChangeReason */
void setLockChangeReason (QCamera::LockChangeReason lockChangeReason)
{
diff --git a/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp b/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp
index 4d064b0e6..9fa5045b9 100644
--- a/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp
+++ b/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp
@@ -78,16 +78,6 @@ private slots:
void testCameraCapture();
void testCameraCaptureMetadata();
void testImageSettings();
- void testViewfinderSettings();
- void testViewfinderSettingsChange();
- void testSupportedViewfinderSettings_data();
- void testSupportedViewfinderSettings();
- void testSupportedViewfinderResolutions_data();
- void testSupportedViewfinderResolutions();
- void testSupportedViewfinderFrameRateRanges_data();
- void testSupportedViewfinderFrameRateRanges();
- void testSupportedViewfinderPixelFormats_data();
- void testSupportedViewfinderPixelFormats();
void testCameraLock();
void testCameraLockCancel();
void testCameraEncodingProperyChange();
@@ -157,11 +147,8 @@ private:
QMockIntegration *integration;
};
-Q_DECLARE_METATYPE(QCamera::FrameRateRange)
-
void tst_QCamera::initTestCase()
{
- qRegisterMetaType<QCamera::FrameRateRange>("FrameRateRange");
MockMediaRecorderService::simpleCamera = false;
}
@@ -787,573 +774,6 @@ void tst_QCamera::testImageSettings()
QVERIFY(settings1 != settings2);
}
-void tst_QCamera::testViewfinderSettings()
-{
- QCameraViewfinderSettings settings;
- QVERIFY(settings.isNull());
- QVERIFY(settings == QCameraViewfinderSettings());
-
- QCOMPARE(settings.resolution(), QSize());
- settings.setResolution(QSize(640, 480));
- QCOMPARE(settings.resolution(), QSize(640, 480));
- settings.setResolution(1280, 720);
- QCOMPARE(settings.resolution(), QSize(1280, 720));
- QVERIFY(!settings.isNull());
- QVERIFY(settings != QCameraViewfinderSettings());
-
- settings = QCameraViewfinderSettings();
- QVERIFY(qFuzzyIsNull(settings.minimumFrameRate()));
- settings.setMinimumFrameRate(10.0);
- QVERIFY(qFuzzyCompare(settings.minimumFrameRate(), 10.0));
- QVERIFY(qFuzzyIsNull(settings.maximumFrameRate()));
- settings.setMaximumFrameRate(20.0);
- QVERIFY(qFuzzyCompare(settings.maximumFrameRate(), 20.0));
- QVERIFY(!settings.isNull());
-
- settings = QCameraViewfinderSettings();
- QCOMPARE(settings.pixelFormat(), QVideoFrame::Format_Invalid);
- settings.setPixelFormat(QVideoFrame::Format_RGB32);
- QCOMPARE(settings.pixelFormat(), QVideoFrame::Format_RGB32);
- QVERIFY(!settings.isNull());
-
- settings = QCameraViewfinderSettings();
- QCOMPARE(settings.pixelAspectRatio(), QSize());
- settings.setPixelAspectRatio(QSize(2, 1));
- QCOMPARE(settings.pixelAspectRatio(), QSize(2, 1));
- settings.setPixelAspectRatio(3, 2);
- QCOMPARE(settings.pixelAspectRatio(), QSize(3, 2));
- QVERIFY(!settings.isNull());
-
- settings = QCameraViewfinderSettings();
-
- {
- QCameraViewfinderSettings settings1;
- QCameraViewfinderSettings settings2;
- QCOMPARE(settings2, settings1);
-
- settings2 = settings1;
- QCOMPARE(settings2, settings1);
- QVERIFY(settings2.isNull());
-
- settings1.setResolution(800, 600);
-
- QVERIFY(settings2.isNull());
- QVERIFY(!settings1.isNull());
- QVERIFY(settings1 != settings2);
- }
-
- {
- QCameraViewfinderSettings settings1;
- QCameraViewfinderSettings settings2(settings1);
- QCOMPARE(settings2, settings1);
-
- settings2 = settings1;
- QCOMPARE(settings2, settings1);
- QVERIFY(settings2.isNull());
-
- settings1.setResolution(800, 600);
-
- QVERIFY(settings2.isNull());
- QVERIFY(!settings1.isNull());
- QVERIFY(settings1 != settings2);
- }
-
- QCameraViewfinderSettings settings1;
- QCameraViewfinderSettings settings2;
-
- settings1 = QCameraViewfinderSettings();
- settings1.setResolution(800,600);
- settings2 = QCameraViewfinderSettings();
- settings2.setResolution(QSize(800,600));
- QVERIFY(settings1 == settings2);
- settings2.setResolution(QSize(400,300));
- QVERIFY(settings1 != settings2);
-
- settings1 = QCameraViewfinderSettings();
- settings1.setMinimumFrameRate(10.0);
- settings2 = QCameraViewfinderSettings();
- settings2.setMinimumFrameRate(10.0);
- QVERIFY(settings1 == settings2);
- settings2.setMinimumFrameRate(15.0);
- QVERIFY(settings1 != settings2);
-
- settings1 = QCameraViewfinderSettings();
- settings1.setMaximumFrameRate(30.0);
- settings2 = QCameraViewfinderSettings();
- settings2.setMaximumFrameRate(30.0);
- QVERIFY(settings1 == settings2);
- settings2.setMaximumFrameRate(15.0);
- QVERIFY(settings1 != settings2);
-
- settings1 = QCameraViewfinderSettings();
- settings1.setPixelFormat(QVideoFrame::Format_YV12);
- settings2 = QCameraViewfinderSettings();
- settings2.setPixelFormat(QVideoFrame::Format_YV12);
- QVERIFY(settings1 == settings2);
- settings2.setPixelFormat(QVideoFrame::Format_NV21);
- QVERIFY(settings1 != settings2);
-
- settings1 = QCameraViewfinderSettings();
- settings1.setPixelAspectRatio(2,1);
- settings2 = QCameraViewfinderSettings();
- settings2.setPixelAspectRatio(QSize(2,1));
- QVERIFY(settings1 == settings2);
- settings2.setPixelAspectRatio(QSize(1,2));
- QVERIFY(settings1 != settings2);
-}
-
-void tst_QCamera::testViewfinderSettingsChange()
-{
- QCamera camera;
-
- QSignalSpy stateChangedSignal(&camera, SIGNAL(stateChanged(QCamera::State)));
- QSignalSpy statusChangedSignal(&camera, SIGNAL(statusChanged(QCamera::Status)));
-
- camera.start();
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QCOMPARE(camera.status(), QCamera::ActiveStatus);
-
- QCOMPARE(stateChangedSignal.count(), 1);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- //the settings change should trigger camera stop/start
- camera.setViewfinderSettings(QCameraViewfinderSettings());
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QCOMPARE(camera.status(), QCamera::LoadedStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QTRY_COMPARE(camera.status(), QCamera::ActiveStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- //the settings change should trigger camera stop/start only once
- camera.setViewfinderSettings(QCameraViewfinderSettings());
- camera.setViewfinderSettings(QCameraViewfinderSettings());
-
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QCOMPARE(camera.status(), QCamera::LoadedStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
- stateChangedSignal.clear();
- statusChangedSignal.clear();
-
- QCOMPARE(camera.state(), QCamera::ActiveState);
- QTRY_COMPARE(camera.status(), QCamera::ActiveStatus);
-
- QCOMPARE(stateChangedSignal.count(), 0);
- QCOMPARE(statusChangedSignal.count(), 1);
-}
-
-class ViewfinderSettingsBuilder
-{
-public:
- ViewfinderSettingsBuilder &setResolution(int width, int height) {
- m_settings.setResolution(width, height);
- return *this;
- }
-
- ViewfinderSettingsBuilder &setMinimumFrameRate(qreal r) {
- m_settings.setMinimumFrameRate(r);
- return *this;
- }
-
- ViewfinderSettingsBuilder &setMaximumFrameRate(qreal r) {
- m_settings.setMaximumFrameRate(r);
- return *this;
- }
-
- ViewfinderSettingsBuilder &setPixelFormat(QVideoFrame::PixelFormat f) {
- m_settings.setPixelFormat(f);
- return *this;
- }
-
- ViewfinderSettingsBuilder &setPixelAspectRatio(int h, int v) {
- m_settings.setPixelAspectRatio(h, v);
- return *this;
- }
-
- QCameraViewfinderSettings build() {
- QCameraViewfinderSettings s = m_settings;
- m_settings = QCameraViewfinderSettings();
- return s;
- }
-
-private:
- QCameraViewfinderSettings m_settings;
-};
-
-void tst_QCamera::testSupportedViewfinderSettings_data()
-{
- // see mockcameracontrol.h for expected values
-
- ViewfinderSettingsBuilder builder;
-
- QTest::addColumn<QCameraViewfinderSettings>("settings");
- QTest::addColumn< QList<int> >("expectedSupportedSettings");
-
- QTest::newRow("all supported settings") << QCameraViewfinderSettings()
- << (QList<int>() << 0 << 1 << 2 << 3 << 4 << 5);
-
- QTest::newRow("invalid resolution") << builder.setResolution(452472, 44453).build()
- << QList<int>();
-
- QTest::newRow("resolution (1)") << builder.setResolution(640, 480).build()
- << (QList<int>() << 0);
-
- QTest::newRow("resolution (2)") << builder.setResolution(1280, 720).build()
- << (QList<int>() << 1 << 3 << 4);
-
- QTest::newRow("invalid minimum frame rate") << builder.setMinimumFrameRate(2).build()
- << QList<int>();
-
- QTest::newRow("minimum frame rate (1)") << builder.setMinimumFrameRate(5).build()
- << (QList<int>() << 2);
-
- QTest::newRow("minimum frame rate (2)") << builder.setMinimumFrameRate(10).build()
- << (QList<int>() << 1 << 3);
-
- QTest::newRow("minimum frame rate (3)") << builder.setMinimumFrameRate(30).build()
- << (QList<int>() << 0 << 4 << 5);
-
- QTest::newRow("invalid maximum frame rate") << builder.setMaximumFrameRate(2).build()
- << QList<int>();
-
- QTest::newRow("maximum frame rate (1)") << builder.setMaximumFrameRate(10).build()
- << (QList<int>() << 1 << 2 << 3);
-
- QTest::newRow("maximum frame rate (2)") << builder.setMaximumFrameRate(30).build()
- << (QList<int>() << 0 << 4 << 5);
-
- QTest::newRow("invalid pixel format") << builder.setPixelFormat(QVideoFrame::Format_CameraRaw).build()
- << QList<int>();
-
- QTest::newRow("pixel format (1)") << builder.setPixelFormat(QVideoFrame::Format_BGR32).build()
- << (QList<int>() << 2);
-
- QTest::newRow("pixel format (2)") << builder.setPixelFormat(QVideoFrame::Format_YV12).build()
- << (QList<int>() << 3 << 4);
-
- QTest::newRow("pixel format (3)") << builder.setPixelFormat(QVideoFrame::Format_NV12).build()
- << (QList<int>() << 0 << 1 << 5);
-
- QTest::newRow("invalid pixel aspect ratio") << builder.setPixelAspectRatio(5, 3).build()
- << QList<int>();
-
- QTest::newRow("pixel aspect ratio (1)") << builder.setPixelAspectRatio(2, 1).build()
- << (QList<int>() << 2);
-
- QTest::newRow("pixel aspect ratio (2)") << builder.setPixelAspectRatio(1, 1).build()
- << (QList<int>() << 0 << 1 << 3 << 4 << 5);
-
- QTest::newRow("invalid multi settings") << builder.setResolution(640, 480)
- .setMinimumFrameRate(10)
- .setMaximumFrameRate(10)
- .build()
- << QList<int>();
-
- QTest::newRow("multi settings (1)") << builder.setResolution(640, 480)
- .setMinimumFrameRate(30)
- .setMaximumFrameRate(30)
- .build()
- << (QList<int>() << 0);
-
- QTest::newRow("multi settings (2)") << builder.setResolution(1280, 720)
- .setMinimumFrameRate(10)
- .setMaximumFrameRate(10)
- .build()
- << (QList<int>() << 1 << 3);
-
- QTest::newRow("multi settings (3)") << builder.setPixelFormat(QVideoFrame::Format_NV12)
- .setMinimumFrameRate(30)
- .build()
- << (QList<int>() << 0 << 5);
-
- QTest::newRow("multi settings (4)") << builder.setPixelAspectRatio(1, 1)
- .setMaximumFrameRate(10)
- .build()
- << (QList<int>() << 1 << 3);
-}
-
-void tst_QCamera::testSupportedViewfinderSettings()
-{
- QFETCH(QCameraViewfinderSettings, settings);
- QFETCH(QList<int>, expectedSupportedSettings);
-
- QList<QCameraViewfinderSettings> actualSupportedSettings = QCamera().supportedViewfinderSettings(settings);
- auto *service = integration->lastCaptureService();
- QCOMPARE(actualSupportedSettings.size(), expectedSupportedSettings.size());
- for (int i = 0; i < expectedSupportedSettings.size(); ++i) {
- QCameraViewfinderSettings expectedSettings = service->mockCameraControl->supportedSettings.at(expectedSupportedSettings.at(i));
- QCOMPARE(actualSupportedSettings.at(i), expectedSettings);
- }
-}
-
-void tst_QCamera::testSupportedViewfinderResolutions_data()
-{
- // see mockcameracontrol.h for expected values
-
- using SizeList = QList<QSize>;
- ViewfinderSettingsBuilder builder;
-
- QTest::addColumn<QCameraViewfinderSettings>("settings");
- QTest::addColumn<SizeList>("expectedResolutions");
-
- QTest::newRow("empty settings") << QCameraViewfinderSettings()
- << (SizeList() << QSize(320, 240)
- << QSize(640, 480)
- << QSize(1280, 720)
- << QSize(1920, 1080));
-
- QTest::newRow("invalid minimum frame rate") << builder.setMinimumFrameRate(2).build()
- << SizeList();
-
- QTest::newRow("minimum frame rate (1)") << builder.setMinimumFrameRate(5).build()
- << (SizeList() << QSize(1920, 1080));
-
- QTest::newRow("minimum frame rate (2)") << builder.setMinimumFrameRate(10).build()
- << (SizeList() << QSize(1280, 720));
-
- QTest::newRow("minimum frame rate (3)") << builder.setMinimumFrameRate(30).build()
- << (SizeList() << QSize(320, 240)
- << QSize(640, 480)
- << QSize(1280, 720));
-
- QTest::newRow("invalid maximum frame rate") << builder.setMaximumFrameRate(2).build()
- << SizeList();
-
- QTest::newRow("maximum frame rate") << builder.setMaximumFrameRate(10).build()
- << (SizeList() << QSize(1280, 720)
- << QSize(1920, 1080));
-
- QTest::newRow("invalid pixel format") << builder.setPixelFormat(QVideoFrame::Format_CameraRaw).build()
- << SizeList();
-
- QTest::newRow("pixel format (1)") << builder.setPixelFormat(QVideoFrame::Format_BGR32).build()
- << (SizeList() << QSize(1920, 1080));
-
- QTest::newRow("pixel format (2)") << builder.setPixelFormat(QVideoFrame::Format_YV12).build()
- << (SizeList() << QSize(1280, 720));
-
- QTest::newRow("pixel format (3)") << builder.setPixelFormat(QVideoFrame::Format_NV12).build()
- << (SizeList() << QSize(320, 240)
- << QSize(640, 480)
- << QSize(1280, 720));
-
- QTest::newRow("invalid pixel aspect ratio") << builder.setPixelAspectRatio(7, 2).build()
- << SizeList();
-
- QTest::newRow("pixel aspect ratio (1") << builder.setPixelAspectRatio(2, 1).build()
- << (SizeList() << QSize(1920, 1080));
-
- QTest::newRow("pixel aspect ratio (2") << builder.setPixelAspectRatio(1, 1).build()
- << (SizeList() << QSize(320, 240)
- << QSize(640, 480)
- << QSize(1280, 720));
-
- QTest::newRow("invalid multi settings (1)") << builder.setMinimumFrameRate(2)
- .setMaximumFrameRate(3)
- .build()
- << SizeList();
-
- QTest::newRow("invalid multi settings (2)") << builder.setMinimumFrameRate(5)
- .setMaximumFrameRate(11)
- .build()
- << SizeList();
-
- QTest::newRow("multi settings (1)") << builder.setMinimumFrameRate(10)
- .setMaximumFrameRate(10)
- .build()
- << (SizeList() << QSize(1280, 720));
-
- QTest::newRow("multi settings (2)") << builder.setMinimumFrameRate(30)
- .setMaximumFrameRate(30)
- .build()
- << (SizeList() << QSize(320, 240)
- << QSize(640, 480)
- << QSize(1280, 720));
-
- QTest::newRow("multi settings (3)") << builder.setPixelFormat(QVideoFrame::Format_NV12)
- .setMinimumFrameRate(30)
- .build()
- << (SizeList() << QSize(320, 240)
- << QSize(640, 480));
-
- QTest::newRow("multi settings (4)") << builder.setPixelAspectRatio(1, 1)
- .setMaximumFrameRate(10)
- .build()
- << (SizeList() << QSize(1280, 720));
-}
-
-void tst_QCamera::testSupportedViewfinderResolutions()
-{
- QFETCH(QCameraViewfinderSettings, settings);
- QFETCH(QList<QSize>, expectedResolutions);
-
- QList<QSize> actualResolutions = QCamera().supportedViewfinderResolutions(settings);
- QCOMPARE(actualResolutions.size(), expectedResolutions.size());
- for (int i = 0; i < actualResolutions.size(); ++i)
- QCOMPARE(actualResolutions.at(i), expectedResolutions.at(i));
-}
-
-void tst_QCamera::testSupportedViewfinderFrameRateRanges_data()
-{
- // see mockcameracontrol.h for expected values
-
- using RangeList = QList<QCamera::FrameRateRange>;
- ViewfinderSettingsBuilder builder;
-
- QTest::addColumn<QCameraViewfinderSettings>("settings");
- QTest::addColumn<RangeList>("expectedFrameRateRanges");
-
- QTest::newRow("empty settings") << QCameraViewfinderSettings()
- << (RangeList() << QCamera::FrameRateRange(5, 10)
- << QCamera::FrameRateRange(10, 10)
- << QCamera::FrameRateRange(30, 30));
-
- QTest::newRow("invalid resolution") << builder.setResolution(452472, 444534).build()
- << RangeList();
-
- QTest::newRow("resolution (1)") << builder.setResolution(320, 240).build()
- << (RangeList() << QCamera::FrameRateRange(30, 30));
-
- QTest::newRow("resolution (2)") << builder.setResolution(1280, 720).build()
- << (RangeList() << QCamera::FrameRateRange(10, 10)
- << QCamera::FrameRateRange(30, 30));
-
- QTest::newRow("resolution (3)") << builder.setResolution(1920, 1080).build()
- << (RangeList() << QCamera::FrameRateRange(5, 10));
-
- QTest::newRow("invalid minimum frame rate") << builder.setMinimumFrameRate(2).build()
- << RangeList();
-
- QTest::newRow("minimum frame rate (1)") << builder.setMinimumFrameRate(5).build()
- << (RangeList() << QCamera::FrameRateRange(5, 10));
-
- QTest::newRow("minimum frame rate (2)") << builder.setMinimumFrameRate(10).build()
- << (RangeList() << QCamera::FrameRateRange(10, 10));
-
- QTest::newRow("invalid maximum frame rate") << builder.setMaximumFrameRate(2).build()
- << RangeList();
-
- QTest::newRow("maximum frame rate (1)") << builder.setMaximumFrameRate(10).build()
- << (RangeList() << QCamera::FrameRateRange(5, 10)
- << QCamera::FrameRateRange(10, 10));
-
- QTest::newRow("maximum frame rate (2)") << builder.setMaximumFrameRate(30).build()
- << (RangeList() << QCamera::FrameRateRange(30, 30));
-
- QTest::newRow("invalid pixel format") << builder.setPixelFormat(QVideoFrame::Format_IMC1).build()
- << RangeList();
-
- QTest::newRow("pixel format (1)") << builder.setPixelFormat(QVideoFrame::Format_BGR32).build()
- << (RangeList() << QCamera::FrameRateRange(5, 10));
-
- QTest::newRow("pixel format (2)") << builder.setPixelFormat(QVideoFrame::Format_NV12).build()
- << (RangeList() << QCamera::FrameRateRange(10, 10)
- << QCamera::FrameRateRange(30, 30));
-
- QTest::newRow("invalid pixel aspect ratio") << builder.setPixelAspectRatio(2, 3).build()
- << RangeList();
-
- QTest::newRow("pixel aspect ratio (1)") << builder.setPixelAspectRatio(2, 1).build()
- << (RangeList() << QCamera::FrameRateRange(5, 10));
-
- QTest::newRow("pixel aspect ratio (2)") << builder.setPixelAspectRatio(1, 1).build()
- << (RangeList() << QCamera::FrameRateRange(10, 10)
- << QCamera::FrameRateRange(30, 30));
-}
-
-void tst_QCamera::testSupportedViewfinderFrameRateRanges()
-{
- QFETCH(QCameraViewfinderSettings, settings);
- QFETCH(QList<QCamera::FrameRateRange>, expectedFrameRateRanges);
-
- QList<QCamera::FrameRateRange> actualFrameRateRanges = QCamera().supportedViewfinderFrameRateRanges(settings);
- QCOMPARE(actualFrameRateRanges.size(), expectedFrameRateRanges.size());
- for (int i = 0; i < actualFrameRateRanges.size(); ++i)
- QCOMPARE(actualFrameRateRanges.at(i), expectedFrameRateRanges.at(i));
-}
-
-void tst_QCamera::testSupportedViewfinderPixelFormats_data()
-{
- // see mockcameracontrol.h for expected values
-
- using FormatList = QList<QVideoFrame::PixelFormat>;
- ViewfinderSettingsBuilder builder;
-
- QTest::addColumn<QCameraViewfinderSettings>("settings");
- QTest::addColumn<FormatList>("expectedPixelFormats");
-
- QTest::newRow("empty settings") << QCameraViewfinderSettings()
- << (FormatList() << QVideoFrame::Format_NV12
- << QVideoFrame::Format_BGR32
- << QVideoFrame::Format_YV12);
-
- QTest::newRow("invalid resolution") << builder.setResolution(452472, 444534).build()
- << FormatList();
-
- QTest::newRow("resolution (1)") << builder.setResolution(640, 480).build()
- << (FormatList() << QVideoFrame::Format_NV12);
-
- QTest::newRow("resolution (2)") << builder.setResolution(1280, 720).build()
- << (FormatList() << QVideoFrame::Format_NV12
- << QVideoFrame::Format_YV12);
-
- QTest::newRow("invalid minimum frame rate") << builder.setMinimumFrameRate(2).build()
- << FormatList();
-
- QTest::newRow("minimum frame rate (1)") << builder.setMinimumFrameRate(5).build()
- << (FormatList() << QVideoFrame::Format_BGR32);
-
- QTest::newRow("minimum frame rate (2)") << builder.setMinimumFrameRate(10).build()
- << (FormatList() << QVideoFrame::Format_NV12
- << QVideoFrame::Format_YV12);
-
- QTest::newRow("invalid maximum frame rate") << builder.setMaximumFrameRate(2).build()
- << FormatList();
-
- QTest::newRow("maximum frame rate (1)") << builder.setMaximumFrameRate(10).build()
- << (FormatList() << QVideoFrame::Format_NV12
- << QVideoFrame::Format_BGR32
- << QVideoFrame::Format_YV12);
-
- QTest::newRow("maximum frame rate (2)") << builder.setMinimumFrameRate(30).build()
- << (FormatList() << QVideoFrame::Format_NV12
- << QVideoFrame::Format_YV12);
-
- QTest::newRow("invalid pixel aspect ratio") << builder.setPixelAspectRatio(2, 3).build()
- << FormatList();
-
- QTest::newRow("pixel aspect ratio (1)") << builder.setPixelAspectRatio(2, 1).build()
- << (FormatList() << QVideoFrame::Format_BGR32);
-
- QTest::newRow("pixel aspect ratio (2)") << builder.setPixelAspectRatio(1, 1).build()
- << (FormatList() << QVideoFrame::Format_NV12
- << QVideoFrame::Format_YV12);
-}
-
-void tst_QCamera::testSupportedViewfinderPixelFormats()
-{
- QFETCH(QCameraViewfinderSettings, settings);
- QFETCH(QList<QVideoFrame::PixelFormat>, expectedPixelFormats);
-
- QList<QVideoFrame::PixelFormat> actualPixelFormats = QCamera().supportedViewfinderPixelFormats(settings);
- QCOMPARE(actualPixelFormats.size(), expectedPixelFormats.size());
- for (int i = 0; i < actualPixelFormats.size(); ++i)
- QCOMPARE(actualPixelFormats.at(i), expectedPixelFormats.at(i));
-}
-
void tst_QCamera::testCameraLock()
{
QCamera camera;