From bfebd23f150fa660177fff6aa372ae46e42038c3 Mon Sep 17 00:00:00 2001 From: Val Doroshchuk Date: Thu, 2 Nov 2017 09:08:37 +0100 Subject: Update player state after QMediaPlayer::EndOfMedia Return up-to-date player state if mediaStatusChanged() with QMediaPlayer::EndOfMedia is already received but stateChanged() is not. mediaStatusChanged() is always emitted first which could cause the player to keep outdated state before stateChanged() is received. Task-number: QTBUG-57197 Change-Id: I0706069d2f4875076442fdf8ac7e938272ab843c Reviewed-by: Christian Stromme --- .../tst_qmediaplayerbackend.cpp | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'tests/auto/integration') diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp index 082e81b34..3deb534eb 100644 --- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp +++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp @@ -77,6 +77,7 @@ private slots: void surfaceTest_data(); void surfaceTest(); void metadata(); + void playerStateAtEOS(); private: QMediaContent selectVideoFile(const QStringList& mediaCandidates); @@ -1412,6 +1413,28 @@ void tst_QMediaPlayerBackend::metadata() QVERIFY(player.availableMetaData().isEmpty()); } +void tst_QMediaPlayerBackend::playerStateAtEOS() +{ + if (!isWavSupported()) + QSKIP("Sound format is not supported"); + + QMediaPlayer player; + + bool endOfMediaReceived = false; + connect(&player, &QMediaPlayer::mediaStatusChanged, [&](QMediaPlayer::MediaStatus status) { + if (status == QMediaPlayer::EndOfMedia) { + QCOMPARE(player.state(), QMediaPlayer::StoppedState); + endOfMediaReceived = true; + } + }); + + player.setMedia(localWavFile); + player.play(); + + QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::EndOfMedia); + QVERIFY(endOfMediaReceived); +} + TestVideoSurface::TestVideoSurface(bool storeFrames): m_totalFrames(0), m_storeFrames(storeFrames) -- cgit v1.2.3 From 13df2988efbe9a82225ccbf4cad463391d94c8e8 Mon Sep 17 00:00:00 2001 From: Jani Heikkinen Date: Fri, 5 Jan 2018 10:02:08 +0200 Subject: Blacklist qmediaplayerbackend tests in all versions of windows It was already blacklisted in most of builds and started to fail in remaining ones as well Task-number: QTBUG-46368 Task-number: QTBUG-65574 Change-Id: I809f8efd2887facfe85bf2d98f2251b0a7b82484 Reviewed-by: Liang Qi --- tests/auto/integration/qmediaplayerbackend/BLACKLIST | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'tests/auto/integration') diff --git a/tests/auto/integration/qmediaplayerbackend/BLACKLIST b/tests/auto/integration/qmediaplayerbackend/BLACKLIST index 4f8656e0a..68660a39b 100644 --- a/tests/auto/integration/qmediaplayerbackend/BLACKLIST +++ b/tests/auto/integration/qmediaplayerbackend/BLACKLIST @@ -1,8 +1,7 @@ # QTBUG-46368 osx -windows 32bit developer-build -windows 64bit developer-build +windows # Media player plugin not built at the moment on this platform opensuse-13.1 64bit -- cgit v1.2.3