diff options
author | André de la Rocha <andre.rocha@qt.io> | 2021-10-14 00:58:12 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-10-15 10:03:11 +0000 |
commit | 4ecf5c36a29c416321fbc040471085494dd17987 (patch) | |
tree | efda5f619ccc75b7954971c20d6a715e797b375d /tests | |
parent | 69e2b261036eae77c4f0cfad320d2cecb7a87728 (diff) |
Windows: fix and enable media player backend auto-tests
Pick-to: 6.2
Task-number: QTBUG-96677
Change-Id: Ib9063eba2541f719d8b66cac5ead56624d620b06
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'tests')
5 files changed, 33 insertions, 50 deletions
diff --git a/tests/auto/integration/qmediaplayerbackend/BLACKLIST b/tests/auto/integration/qmediaplayerbackend/BLACKLIST index e91f47755..b2316e3ad 100644 --- a/tests/auto/integration/qmediaplayerbackend/BLACKLIST +++ b/tests/auto/integration/qmediaplayerbackend/BLACKLIST @@ -1,31 +1,9 @@ # QTBUG-46368 osx -windows-7 -windows-7sp1 -windows-10 msvc-2015 -windows-10 msvc-2017 -windows-10 msvc-2019 # Media player plugin not built at the moment on this platform opensuse-13.1 64bit -[loadMedia] -windows 64bit developer-build - -[unloadMedia] -windows 64bit developer-build - -[playPauseStop] -windows 64bit developer-build - -[processEOS] -windows 64bit developer-build - -[deleteLaterAtEOS] -windows 64bit developer-build - -[initialVolume] -windows 64bit developer-build [playlist] redhatenterpriselinuxworkstation-6.6 diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp index fd6c89a33..6e284afaa 100644 --- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp +++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp @@ -360,8 +360,8 @@ void tst_QMediaPlayerBackend::playPauseStop() QTRY_VERIFY(player.position() > 100); QVERIFY(player.duration() > 0); - QVERIFY(positionSpy.count() > 0); - QVERIFY(positionSpy.last()[0].value<qint64>() > 0); + QTRY_VERIFY(positionSpy.count() > 0); + QTRY_VERIFY(positionSpy.last()[0].value<qint64>() > 0); stateSpy.clear(); statusSpy.clear(); @@ -371,15 +371,15 @@ void tst_QMediaPlayerBackend::playPauseStop() player.pause(); QCOMPARE(player.playbackState(), QMediaPlayer::PausedState); - QCOMPARE(player.mediaStatus(), QMediaPlayer::BufferedMedia); + QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::BufferedMedia); QCOMPARE(stateSpy.count(), 1); QCOMPARE(stateSpy.last()[0].value<QMediaPlayer::PlaybackState>(), QMediaPlayer::PausedState); QTest::qWait(500); - QVERIFY(qAbs(player.position() - positionBeforePause) < 150); - QCOMPARE(positionSpy.count(), 1); + QTRY_VERIFY(qAbs(player.position() - positionBeforePause) < 150); + QTRY_VERIFY(positionSpy.count() > 0); stateSpy.clear(); statusSpy.clear(); @@ -488,8 +488,8 @@ void tst_QMediaPlayerBackend::processEOS() //at EOS the position stays at the end of file QCOMPARE(player.position(), player.duration()); - QVERIFY(positionSpy.count() > 0); - QCOMPARE(positionSpy.last()[0].value<qint64>(), player.duration()); + QTRY_VERIFY(positionSpy.count() > 0); + QTRY_COMPARE(positionSpy.last()[0].value<qint64>(), player.duration()); stateSpy.clear(); statusSpy.clear(); @@ -521,8 +521,8 @@ void tst_QMediaPlayerBackend::processEOS() //position stays at the end of file QCOMPARE(player.position(), player.duration()); - QVERIFY(positionSpy.count() > 0); - QCOMPARE(positionSpy.last()[0].value<qint64>(), player.duration()); + QTRY_VERIFY(positionSpy.count() > 0); + QTRY_COMPARE(positionSpy.last()[0].value<qint64>(), player.duration()); //after setPosition EndOfMedia status should be reset to Loaded stateSpy.clear(); @@ -552,7 +552,7 @@ void tst_QMediaPlayerBackend::processEOS() QTRY_COMPARE(player.position(), 0); QTRY_VERIFY(positionSpy.count() > 0); - QCOMPARE(positionSpy.first()[0].value<qint64>(), 0); + QTRY_COMPARE(positionSpy.first()[0].value<qint64>(), 0); QCOMPARE(player.playbackState(), QMediaPlayer::PausedState); QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::BufferedMedia); @@ -835,6 +835,8 @@ void tst_QMediaPlayerBackend::seekInStoppedState() QMediaPlayer player; QAudioOutput output; player.setAudioOutput(&output); + TestVideoSink surface(false); + player.setVideoOutput(&surface); QSignalSpy stateSpy(&player, SIGNAL(playbackStateChanged(QMediaPlayer::PlaybackState))); QSignalSpy positionSpy(&player, SIGNAL(positionChanged(qint64))); @@ -852,7 +854,7 @@ void tst_QMediaPlayerBackend::seekInStoppedState() player.setPosition(position); QTRY_VERIFY(qAbs(player.position() - position) < qint64(200)); - QCOMPARE(positionSpy.count(), 1); + QTRY_VERIFY(positionSpy.count() > 0); QVERIFY(qAbs(positionSpy.last()[0].value<qint64>() - position) < qint64(200)); QCOMPARE(player.playbackState(), QMediaPlayer::StoppedState); @@ -888,7 +890,7 @@ void tst_QMediaPlayerBackend::seekInStoppedState() player.setPosition(position); QTRY_VERIFY(qAbs(player.position() - position) < qint64(200)); - QCOMPARE(positionSpy.count(), 1); + QTRY_VERIFY(positionSpy.count() > 0); QVERIFY(qAbs(positionSpy.last()[0].value<qint64>() - position) < qint64(200)); QCOMPARE(player.playbackState(), QMediaPlayer::StoppedState); @@ -924,21 +926,19 @@ void tst_QMediaPlayerBackend::seekInStoppedState() player.setPosition(position); QTRY_VERIFY(qAbs(player.position() - position) < qint64(200)); - QCOMPARE(positionSpy.count(), 1); + QTRY_VERIFY(positionSpy.count() > 0); QVERIFY(qAbs(positionSpy.last()[0].value<qint64>() - position) < qint64(200)); QCOMPARE(player.playbackState(), QMediaPlayer::StoppedState); QCOMPARE(stateSpy.count(), 0); - QCOMPARE(player.mediaStatus(), QMediaPlayer::LoadedMedia); - positionSpy.clear(); - player.play(); + QTRY_COMPARE(player.playbackState(), QMediaPlayer::PlayingState); + QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::BufferedMedia); - QCOMPARE(player.playbackState(), QMediaPlayer::PlayingState); - QVERIFY(player.position() >= position - 200); - QCOMPARE(player.mediaStatus(), QMediaPlayer::BufferedMedia); + positionSpy.clear(); + QTRY_VERIFY(player.position() > (position - 200)); QTest::qWait(500); // Check that it never played from the beginning @@ -956,6 +956,8 @@ void tst_QMediaPlayerBackend::subsequentPlayback() QAudioOutput output; player.setAudioOutput(&output); player.setSource(localCompressedSoundFile); + QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::LoadedMedia); + QTRY_VERIFY(player.isSeekable()); player.setPosition(5000); player.play(); @@ -1096,10 +1098,12 @@ void tst_QMediaPlayerBackend::audioVideoAvailable() QSKIP("No supported video file"); TestVideoSink surface(false); + QAudioOutput output; QMediaPlayer player; QSignalSpy hasVideoSpy(&player, SIGNAL(hasVideoChanged(bool))); QSignalSpy hasAudioSpy(&player, SIGNAL(hasAudioChanged(bool))); player.setVideoOutput(&surface); + player.setAudioOutput(&output); player.setSource(localVideoFile); QTRY_VERIFY(player.hasVideo()); QTRY_VERIFY(player.hasAudio()); @@ -1135,6 +1139,7 @@ void tst_QMediaPlayerBackend::positionAfterSeek() player.setVideoOutput(&surface); QVERIFY(!player.isSeekable()); player.setSource(localVideoFile); + QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::LoadedMedia); player.pause(); player.setPosition(500); QTRY_VERIFY(player.position() == 500); @@ -1158,6 +1163,7 @@ void tst_QMediaPlayerBackend::videoDimensions() player.setVideoOutput(&surface); QVERIFY(!player.isSeekable()); player.setSource(localVideoFile); + QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::LoadedMedia); player.pause(); QTRY_COMPARE(surface.m_totalFrames, 1); QCOMPARE(surface.m_frameList.last().height(), 120); @@ -1166,6 +1172,9 @@ void tst_QMediaPlayerBackend::videoDimensions() void tst_QMediaPlayerBackend::position() { + if (localVideoFile.isEmpty()) + QSKIP("No supported video file"); + TestVideoSink surface(true); QMediaPlayer player; player.setVideoOutput(&surface); diff --git a/tests/auto/integration/shared/mediafileselector.h b/tests/auto/integration/shared/mediafileselector.h index a9699fc0a..19eded56a 100644 --- a/tests/auto/integration/shared/mediafileselector.h +++ b/tests/auto/integration/shared/mediafileselector.h @@ -43,8 +43,10 @@ namespace MediaFileSelector { static QUrl selectMediaFile(const QStringList& mediaCandidates) { QMediaPlayer player; - QAudioOutput output; - player.setAudioOutput(&output); + QAudioOutput audioOutput; + QVideoSink videoOutput; + player.setAudioOutput(&audioOutput); + player.setVideoOutput(&videoOutput); QSignalSpy errorSpy(&player, SIGNAL(errorOccurred(QMediaPlayer::Error, const QString&))); diff --git a/tests/auto/unit/mockbackend/qmockvideosink.h b/tests/auto/unit/mockbackend/qmockvideosink.h index 187160f3c..0a8baeef0 100644 --- a/tests/auto/unit/mockbackend/qmockvideosink.h +++ b/tests/auto/unit/mockbackend/qmockvideosink.h @@ -64,12 +64,6 @@ public: : QPlatformVideoSink(parent) {} void setRhi(QRhi * /*rhi*/) override {} - - QSize nativeSize() const override { return videoSize; } - - void setVideoSize(QSize s) { videoSize = s; } -protected: - QSize videoSize = QSize(640, 480); }; QT_END_NAMESPACE diff --git a/tests/auto/unit/multimediawidgets/qvideowidget/tst_qvideowidget.cpp b/tests/auto/unit/multimediawidgets/qvideowidget/tst_qvideowidget.cpp index ec8119481..1f43a2be4 100644 --- a/tests/auto/unit/multimediawidgets/qvideowidget/tst_qvideowidget.cpp +++ b/tests/auto/unit/multimediawidgets/qvideowidget/tst_qvideowidget.cpp @@ -180,7 +180,7 @@ void tst_QVideoWidget::sizeHint() widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); - mockSink->setVideoSize(frameSize); + mockSink->setNativeSize(frameSize); QCOMPARE(widget.sizeHint(), expectedSize); } |