summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Sutterud <lars.sutterud@qt.io>2024-02-21 10:52:32 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-02-28 16:40:14 +0000
commitdeba3505fd3393aeb7557f424993b782b0a32af8 (patch)
treede80f42213ce2efe463f2837934f53fa370f9719
parent6027a24f23c5059f23b4791e8b16d430e5ddafa3 (diff)
tst_qmediaplayerbackend: Apply fixture pattern in two loop tests
Using the ready made Fixture object instead of creating a separate QMediaPlayer and TestVideoSink and connecting the positionChanged signal to a QSignalSpy mamually, for the tests seekOnLoops() and changeLoopsOnTheFly(). Pick-to: 6.6 6.5 Change-Id: I8524365c38d77230c74ccd407cf69e7b14ee3641 Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io> Reviewed-by: Artem Dyomin <artem.dyomin@qt.io> (cherry picked from commit 6dfa59d3523bf9b12e708be715f6d68c4e251c33) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp76
1 files changed, 34 insertions, 42 deletions
diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
index 2a11c34c2..c9d039a52 100644
--- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
+++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
@@ -2508,49 +2508,45 @@ void tst_QMediaPlayerBackend::seekOnLoops()
"investigated: QTBUG-111744");
#endif
- TestVideoSink surface(false);
- QMediaPlayer player;
-
- QSignalSpy positionSpy(&player, &QMediaPlayer::positionChanged);
+ m_fixture->surface.setStoreFrames(false);
- player.setVideoOutput(&surface);
- player.setLoops(3);
- player.setPlaybackRate(2);
+ m_fixture->player.setLoops(3);
+ m_fixture->player.setPlaybackRate(2);
- player.setSource(*m_localVideoFile3ColorsWithSound);
+ m_fixture->player.setSource(*m_localVideoFile3ColorsWithSound);
- player.play();
- surface.waitForFrame();
+ m_fixture->player.play();
+ m_fixture->surface.waitForFrame();
// seek in the 1st loop
- player.setPosition(player.duration() * 4 / 5);
+ m_fixture->player.setPosition(m_fixture->player.duration() * 4 / 5);
// wait for the 2nd loop and seek
- surface.waitForFrame();
- QTRY_VERIFY(player.position() < player.duration() / 2);
- player.setPosition(player.duration() * 8 / 9);
+ m_fixture->surface.waitForFrame();
+ QTRY_VERIFY(m_fixture->player.position() < m_fixture->player.duration() / 2);
+ m_fixture->player.setPosition(m_fixture->player.duration() * 8 / 9);
// wait for the 3rd loop and seek
- surface.waitForFrame();
- QTRY_VERIFY(player.position() < player.duration() / 2);
- player.setPosition(player.duration() * 4 / 5);
+ m_fixture->surface.waitForFrame();
+ QTRY_VERIFY(m_fixture->player.position() < m_fixture->player.duration() / 2);
+ m_fixture->player.setPosition(m_fixture->player.duration() * 4 / 5);
- QTRY_COMPARE(player.playbackState(), QMediaPlayer::StoppedState);
+ QTRY_COMPARE(m_fixture->player.playbackState(), QMediaPlayer::StoppedState);
- auto iterations = loopIterations(positionSpy);
+ auto iterations = loopIterations(m_fixture->positionChanged);
QCOMPARE(iterations.size(), 3u);
QCOMPARE_GT(iterations[0].startPos, 0);
- QCOMPARE(iterations[0].endPos, player.duration());
+ QCOMPARE(iterations[0].endPos, m_fixture->player.duration());
QCOMPARE_GT(iterations[0].posCount, 2);
QCOMPARE(iterations[1].startPos, 0);
- QCOMPARE(iterations[1].endPos, player.duration());
+ QCOMPARE(iterations[1].endPos, m_fixture->player.duration());
QCOMPARE_GT(iterations[1].posCount, 2);
QCOMPARE(iterations[2].startPos, 0);
- QCOMPARE(iterations[2].endPos, player.duration());
+ QCOMPARE(iterations[2].endPos, m_fixture->player.duration());
QCOMPARE_GT(iterations[2].posCount, 2);
- QCOMPARE(player.mediaStatus(), QMediaPlayer::EndOfMedia);
+ QCOMPARE(m_fixture->player.mediaStatus(), QMediaPlayer::EndOfMedia);
}
void tst_QMediaPlayerBackend::changeLoopsOnTheFly()
@@ -2563,37 +2559,33 @@ void tst_QMediaPlayerBackend::changeLoopsOnTheFly()
"investigated: QTBUG-111744");
#endif
- TestVideoSink surface(false);
- QMediaPlayer player;
-
- QSignalSpy positionSpy(&player, &QMediaPlayer::positionChanged);
+ m_fixture->surface.setStoreFrames(false);
- player.setVideoOutput(&surface);
- player.setLoops(4);
- player.setPlaybackRate(5);
+ m_fixture->player.setLoops(4);
+ m_fixture->player.setPlaybackRate(5);
- player.setSource(*m_localVideoFile3ColorsWithSound);
+ m_fixture->player.setSource(*m_localVideoFile3ColorsWithSound);
- player.play();
- surface.waitForFrame();
+ m_fixture->player.play();
+ m_fixture->surface.waitForFrame();
- player.setPosition(player.duration() * 4 / 5);
+ m_fixture->player.setPosition(m_fixture->player.duration() * 4 / 5);
// wait for the 2nd loop
- surface.waitForFrame();
- QTRY_VERIFY(player.position() < player.duration() / 2);
- player.setPosition(player.duration() * 8 / 9);
+ m_fixture->surface.waitForFrame();
+ QTRY_VERIFY(m_fixture->player.position() < m_fixture->player.duration() / 2);
+ m_fixture->player.setPosition(m_fixture->player.duration() * 8 / 9);
- player.setLoops(1);
+ m_fixture->player.setLoops(1);
- QTRY_COMPARE(player.playbackState(), QMediaPlayer::StoppedState);
- QCOMPARE(player.mediaStatus(), QMediaPlayer::EndOfMedia);
+ QTRY_COMPARE(m_fixture->player.playbackState(), QMediaPlayer::StoppedState);
+ QCOMPARE(m_fixture->player.mediaStatus(), QMediaPlayer::EndOfMedia);
- auto iterations = loopIterations(positionSpy);
+ auto iterations = loopIterations(m_fixture->positionChanged);
QCOMPARE(iterations.size(), 2u);
QCOMPARE(iterations[1].startPos, 0);
- QCOMPARE(iterations[1].endPos, player.duration());
+ QCOMPARE(iterations[1].endPos, m_fixture->player.duration());
QCOMPARE_GT(iterations[1].posCount, 2);
}