diff options
Diffstat (limited to 'tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp')
-rw-r--r-- | tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp index 2194f977d..c27e956c7 100644 --- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp +++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp @@ -77,6 +77,7 @@ private slots: void metadata(); void playerStateAtEOS(); void playFromBuffer(); + void audioVideoAvailable(); private: QUrl selectVideoFile(const QStringList& mediaCandidates); @@ -1085,6 +1086,28 @@ void tst_QMediaPlayerBackend::playFromBuffer() QVERIFY2(surface.m_totalFrames >= 25, qPrintable(QString("Expected >= 25, got %1").arg(surface.m_totalFrames))); } +void tst_QMediaPlayerBackend::audioVideoAvailable() +{ + if (localVideoFile.isEmpty()) + QSKIP("No supported video file"); + + TestVideoSink surface(false); + QMediaPlayer player; + QSignalSpy hasVideoSpy(&player, SIGNAL(hasVideoChanged(bool))); + QSignalSpy hasAudioSpy(&player, SIGNAL(hasAudioChanged(bool))); + player.setVideoOutput(&surface); + player.setSource(localVideoFile); + QTRY_VERIFY(player.hasVideo()); + QTRY_VERIFY(player.hasAudio()); + QCOMPARE(hasVideoSpy.count(), 1); + QCOMPARE(hasAudioSpy.count(), 1); + player.setSource(QUrl()); + QTRY_VERIFY(!player.hasVideo()); + QTRY_VERIFY(!player.hasAudio()); + QCOMPARE(hasVideoSpy.count(), 2); + QCOMPARE(hasAudioSpy.count(), 2); +} + QTEST_MAIN(tst_QMediaPlayerBackend) #include "tst_qmediaplayerbackend.moc" |