summaryrefslogtreecommitdiffstats
path: root/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp')
-rw-r--r--tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp23
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"