diff options
author | Lev Zelenskiy <lev.zelenskiy@nokia.com> | 2012-03-09 09:53:21 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-21 05:43:27 +0100 |
commit | 2c034beab5a8d72a148c47e85e020dc64c58068f (patch) | |
tree | 069cc8427d307f4c5ee359182a55be6ba7026ee6 /tests | |
parent | 2ebea05283a2ddad831d5039a49817cefb7c7625 (diff) |
QMediaPlayer frontend: changes to playlist support.
Allow to load playlists using setMedia().
Use QNetworkMediaPlaylistProvider for playlist parsing.
Updated unit tests.
Change-Id: If4dba07be8b2e8a9e9549d5bed58e552dfb958b7
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp | 85 | ||||
-rw-r--r-- | tests/auto/unit/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp | 30 |
2 files changed, 61 insertions, 54 deletions
diff --git a/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp b/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp index f2bcdc10e..a3aedc197 100644 --- a/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp +++ b/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp @@ -227,11 +227,12 @@ void tst_QMediaPlayer::testNullService() { QFETCH_GLOBAL(QMediaContent, mediaContent); - QSignalSpy spy(&player, SIGNAL(mediaChanged(QMediaContent))); + QSignalSpy spy(&player, SIGNAL(currentMediaChanged(QMediaContent))); QFile file; player.setMedia(mediaContent, &file); - QCOMPARE(player.media(), QMediaContent()); + QCOMPARE(player.currentMedia(), QMediaContent()); + QCOMPARE(player.media(), mediaContent); QCOMPARE(player.mediaStream(), nullDevice); QCOMPARE(spy.count(), 0); } { @@ -297,13 +298,15 @@ void tst_QMediaPlayer::testNullService() playlist.setCurrentIndex(0); QCOMPARE(playlist.currentIndex(), 0); - QCOMPARE(player.media(), QMediaContent()); + QCOMPARE(player.currentMedia(), QMediaContent()); + QCOMPARE(player.media().playlist(), &playlist); QCOMPARE(mediaSpy.count(), 0); QCOMPARE(statusSpy.count(), 0); playlist.next(); QCOMPARE(playlist.currentIndex(), 1); - QCOMPARE(player.media(), QMediaContent()); + QCOMPARE(player.currentMedia(), QMediaContent()); + QCOMPARE(player.media().playlist(), &playlist); QCOMPARE(mediaSpy.count(), 0); QCOMPARE(statusSpy.count(), 0); } @@ -324,11 +327,11 @@ void tst_QMediaPlayer::testMedia() QFETCH_GLOBAL(QMediaContent, mediaContent); mockService->setMedia(mediaContent); - QCOMPARE(player->media(), mediaContent); + QCOMPARE(player->currentMedia(), mediaContent); QBuffer stream; player->setMedia(mediaContent, &stream); - QCOMPARE(player->media(), mediaContent); + QCOMPARE(player->currentMedia(), mediaContent); QCOMPARE((QBuffer*)player->mediaStream(), &stream); } @@ -525,7 +528,7 @@ void tst_QMediaPlayer::testPlay() mockService->setState(state); mockService->setMedia(mediaContent); QVERIFY(player->state() == state); - QVERIFY(player->media() == mediaContent); + QVERIFY(player->currentMedia() == mediaContent); QSignalSpy spy(player, SIGNAL(stateChanged(QMediaPlayer::State))); @@ -551,7 +554,7 @@ void tst_QMediaPlayer::testPause() mockService->setState(state); mockService->setMedia(mediaContent); QVERIFY(player->state() == state); - QVERIFY(player->media() == mediaContent); + QVERIFY(player->currentMedia() == mediaContent); QSignalSpy spy(player, SIGNAL(stateChanged(QMediaPlayer::State))); @@ -575,7 +578,7 @@ void tst_QMediaPlayer::testStop() mockService->setState(state); mockService->setMedia(mediaContent); QVERIFY(player->state() == state); - QVERIFY(player->media() == mediaContent); + QVERIFY(player->currentMedia() == mediaContent); QSignalSpy spy(player, SIGNAL(stateChanged(QMediaPlayer::State))); @@ -686,14 +689,15 @@ void tst_QMediaPlayer::testPlaylist() QMediaPlaylist *playlist = new QMediaPlaylist; player->setPlaylist(playlist); + QCOMPARE(player->media().playlist(), playlist); QSignalSpy stateSpy(player, SIGNAL(stateChanged(QMediaPlayer::State))); - QSignalSpy mediaSpy(player, SIGNAL(mediaChanged(QMediaContent))); + QSignalSpy mediaSpy(player, SIGNAL(currentMediaChanged(QMediaContent))); // Test the player does nothing with an empty playlist attached. player->play(); QCOMPARE(player->state(), QMediaPlayer::StoppedState); - QCOMPARE(player->media(), QMediaContent()); + QCOMPARE(player->currentMedia(), QMediaContent()); QCOMPARE(stateSpy.count(), 0); QCOMPARE(mediaSpy.count(), 0); @@ -704,28 +708,28 @@ void tst_QMediaPlayer::testPlaylist() // Test changing the playlist position, changes the current media, but not the playing state. playlist->setCurrentIndex(1); - QCOMPARE(player->media(), content1); + QCOMPARE(player->currentMedia(), content1); QCOMPARE(player->state(), QMediaPlayer::StoppedState); QCOMPARE(stateSpy.count(), 0); QCOMPARE(mediaSpy.count(), 1); // Test playing starts with the current media. player->play(); - QCOMPARE(player->media(), content1); + QCOMPARE(player->currentMedia(), content1); QCOMPARE(player->state(), QMediaPlayer::PlayingState); QCOMPARE(stateSpy.count(), 1); QCOMPARE(mediaSpy.count(), 1); // Test pausing doesn't change the current media. player->pause(); - QCOMPARE(player->media(), content1); + QCOMPARE(player->currentMedia(), content1); QCOMPARE(player->state(), QMediaPlayer::PausedState); QCOMPARE(stateSpy.count(), 2); QCOMPARE(mediaSpy.count(), 1); // Test stopping doesn't change the current media. player->stop(); - QCOMPARE(player->media(), content1); + QCOMPARE(player->currentMedia(), content1); QCOMPARE(player->state(), QMediaPlayer::StoppedState); QCOMPARE(stateSpy.count(), 3); QCOMPARE(mediaSpy.count(), 1); @@ -733,20 +737,20 @@ void tst_QMediaPlayer::testPlaylist() // Test when the player service reaches the end of the current media, the player moves onto // the next item without stopping. player->play(); - QCOMPARE(player->media(), content1); + QCOMPARE(player->currentMedia(), content1); QCOMPARE(player->state(), QMediaPlayer::PlayingState); QCOMPARE(stateSpy.count(), 4); QCOMPARE(mediaSpy.count(), 1); mockService->setState(QMediaPlayer::StoppedState, QMediaPlayer::EndOfMedia); - QCOMPARE(player->media(), content2); + QCOMPARE(player->currentMedia(), content2); QCOMPARE(player->state(), QMediaPlayer::PlayingState); QCOMPARE(stateSpy.count(), 4); QCOMPARE(mediaSpy.count(), 2); // Test skipping the current media doesn't change the state. playlist->next(); - QCOMPARE(player->media(), content3); + QCOMPARE(player->currentMedia(), content3); QCOMPARE(player->state(), QMediaPlayer::PlayingState); QCOMPARE(stateSpy.count(), 4); QCOMPARE(mediaSpy.count(), 3); @@ -754,13 +758,13 @@ void tst_QMediaPlayer::testPlaylist() // Test changing the current media while paused doesn't change the state. player->pause(); mockService->setMediaStatus(QMediaPlayer::BufferedMedia); - QCOMPARE(player->media(), content3); + QCOMPARE(player->currentMedia(), content3); QCOMPARE(player->state(), QMediaPlayer::PausedState); QCOMPARE(stateSpy.count(), 5); QCOMPARE(mediaSpy.count(), 3); playlist->previous(); - QCOMPARE(player->media(), content2); + QCOMPARE(player->currentMedia(), content2); QCOMPARE(player->state(), QMediaPlayer::PausedState); QCOMPARE(stateSpy.count(), 5); QCOMPARE(mediaSpy.count(), 4); @@ -768,13 +772,13 @@ void tst_QMediaPlayer::testPlaylist() // Test changing the current media while stopped doesn't change the state. player->stop(); mockService->setMediaStatus(QMediaPlayer::LoadedMedia); - QCOMPARE(player->media(), content2); + QCOMPARE(player->currentMedia(), content2); QCOMPARE(player->state(), QMediaPlayer::StoppedState); QCOMPARE(stateSpy.count(), 6); QCOMPARE(mediaSpy.count(), 4); playlist->next(); - QCOMPARE(player->media(), content3); + QCOMPARE(player->currentMedia(), content3); QCOMPARE(player->state(), QMediaPlayer::StoppedState); QCOMPARE(stateSpy.count(), 6); QCOMPARE(mediaSpy.count(), 5); @@ -782,7 +786,7 @@ void tst_QMediaPlayer::testPlaylist() // Test the player is stopped and the current media cleared when it reaches the end of the last // item in the playlist. player->play(); - QCOMPARE(player->media(), content3); + QCOMPARE(player->currentMedia(), content3); QCOMPARE(player->state(), QMediaPlayer::PlayingState); QCOMPARE(stateSpy.count(), 7); QCOMPARE(mediaSpy.count(), 5); @@ -790,45 +794,46 @@ void tst_QMediaPlayer::testPlaylist() // Double up the signals to ensure some noise doesn't destabalize things. mockService->setState(QMediaPlayer::StoppedState, QMediaPlayer::EndOfMedia); mockService->setState(QMediaPlayer::StoppedState, QMediaPlayer::EndOfMedia); - QCOMPARE(player->media(), QMediaContent()); + QCOMPARE(player->currentMedia(), QMediaContent()); QCOMPARE(player->state(), QMediaPlayer::StoppedState); QCOMPARE(stateSpy.count(), 8); QCOMPARE(mediaSpy.count(), 6); // Test starts playing from the start of the playlist if there is no current media selected. player->play(); - QCOMPARE(player->media(), content0); + QCOMPARE(player->currentMedia(), content0); QCOMPARE(player->state(), QMediaPlayer::PlayingState); QCOMPARE(stateSpy.count(), 9); - QCOMPARE(mediaSpy.count(), 7); + // one notification is for playlist and another is for the first media in the playlist + QCOMPARE(mediaSpy.count(), 8); // Test deleting the playlist stops the player and clears the media it set. delete playlist; - QCOMPARE(player->media(), QMediaContent()); + QCOMPARE(player->currentMedia(), QMediaContent()); QCOMPARE(player->state(), QMediaPlayer::StoppedState); QCOMPARE(stateSpy.count(), 10); - QCOMPARE(mediaSpy.count(), 8); + QCOMPARE(mediaSpy.count(), 9); // Test the player works as normal with the playlist removed. player->play(); - QCOMPARE(player->media(), QMediaContent()); + QCOMPARE(player->currentMedia(), QMediaContent()); QCOMPARE(player->state(), QMediaPlayer::StoppedState); QCOMPARE(stateSpy.count(), 10); - QCOMPARE(mediaSpy.count(), 8); + QCOMPARE(mediaSpy.count(), 9); player->setMedia(content1); player->play(); - QCOMPARE(player->media(), content1); + QCOMPARE(player->currentMedia(), content1); QCOMPARE(player->state(), QMediaPlayer::PlayingState); QCOMPARE(stateSpy.count(), 11); - QCOMPARE(mediaSpy.count(), 9); + QCOMPARE(mediaSpy.count(), 10); // Test the player can bind to playlist again playlist = new QMediaPlaylist; player->setPlaylist(playlist); - QCOMPARE(player->media(), QMediaContent()); + QCOMPARE(player->currentMedia(), QMediaContent()); QCOMPARE(player->state(), QMediaPlayer::StoppedState); playlist->addMedia(content0); @@ -837,7 +842,7 @@ void tst_QMediaPlayer::testPlaylist() playlist->addMedia(content3); playlist->setCurrentIndex(1); - QCOMPARE(player->media(), content1); + QCOMPARE(player->currentMedia(), content1); QCOMPARE(player->state(), QMediaPlayer::StoppedState); // Test attaching the new playlist, @@ -850,11 +855,11 @@ void tst_QMediaPlayer::testPlaylist() player->play(); player->setPlaylist(playlist2); - QCOMPARE(player->media(), playlist2->currentMedia()); + QCOMPARE(player->currentMedia(), playlist2->currentMedia()); QCOMPARE(player->state(), QMediaPlayer::StoppedState); playlist2->setCurrentIndex(1); - QCOMPARE(player->media(), playlist2->currentMedia()); + QCOMPARE(player->currentMedia(), playlist2->currentMedia()); { QMediaPlaylist playlist; @@ -863,13 +868,14 @@ void tst_QMediaPlayer::testPlaylist() playlist.addMedia(content3); playlist.setCurrentIndex(1); + // playlist resets to the first item player->setPlaylist(&playlist); QCOMPARE(player->playlist(), &playlist); - QCOMPARE(player->media(), content2); + QCOMPARE(player->currentMedia(), content1); } //playlist should be detached now QVERIFY(player->playlist() == 0); - QCOMPARE(player->media(), QMediaContent()); + QCOMPARE(player->currentMedia(), QMediaContent()); // Test when the player service encounters an invalid media, the player moves onto // the next item without stopping @@ -877,6 +883,7 @@ void tst_QMediaPlayer::testPlaylist() QSignalSpy ss(player, SIGNAL(stateChanged(QMediaPlayer::State))); QSignalSpy ms(player, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus))); + // playlist index is set to 0 when it is loaded into media player player->setPlaylist(playlist); player->play(); QCOMPARE(ss.count(), 1); @@ -888,7 +895,7 @@ void tst_QMediaPlayer::testPlaylist() QCOMPARE(ms.count(), 1); // NOTE: status should begin transitioning through to BufferedMedia. - QCOMPARE(player->media(), content2); + QCOMPARE(player->currentMedia(), content1); } delete playlist; diff --git a/tests/auto/unit/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp b/tests/auto/unit/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp index 120a2f1e3..6fb1bc930 100644 --- a/tests/auto/unit/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp +++ b/tests/auto/unit/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp @@ -43,7 +43,7 @@ #include <QtTest/QtTest> #include <QDebug> -#include <private/qlocalmediaplaylistprovider_p.h> +#include <private/qmedianetworkplaylistprovider_p.h> #include <private/qmediaplaylistnavigator_p.h> QT_USE_NAMESPACE @@ -84,7 +84,7 @@ void tst_QMediaPlaylistNavigator::cleanup() void tst_QMediaPlaylistNavigator::construction() { - QLocalMediaPlaylistProvider playlist; + QMediaNetworkPlaylistProvider playlist; QCOMPARE(playlist.mediaCount(), 0); QMediaPlaylistNavigator navigator(&playlist); @@ -100,7 +100,7 @@ void tst_QMediaPlaylistNavigator::setPlaylist() QCOMPARE(navigator.playlist()->media(0), QMediaContent()); QVERIFY(navigator.playlist()->isReadOnly() ); - QLocalMediaPlaylistProvider playlist; + QMediaNetworkPlaylistProvider playlist; QCOMPARE(playlist.mediaCount(), 0); navigator.setPlaylist(&playlist); @@ -111,7 +111,7 @@ void tst_QMediaPlaylistNavigator::setPlaylist() void tst_QMediaPlaylistNavigator::linearPlayback() { - QLocalMediaPlaylistProvider playlist; + QMediaNetworkPlaylistProvider playlist; QMediaPlaylistNavigator navigator(&playlist); navigator.setPlaybackMode(QMediaPlaylist::Sequential); @@ -165,7 +165,7 @@ void tst_QMediaPlaylistNavigator::linearPlayback() void tst_QMediaPlaylistNavigator::loopPlayback() { - QLocalMediaPlaylistProvider playlist; + QMediaNetworkPlaylistProvider playlist; QMediaPlaylistNavigator navigator(&playlist); navigator.setPlaybackMode(QMediaPlaylist::Loop); @@ -216,7 +216,7 @@ void tst_QMediaPlaylistNavigator::loopPlayback() void tst_QMediaPlaylistNavigator::currentItemOnce() { - QLocalMediaPlaylistProvider playlist; + QMediaNetworkPlaylistProvider playlist; QMediaPlaylistNavigator navigator(&playlist); navigator.setPlaybackMode(QMediaPlaylist::CurrentItemOnce); @@ -247,7 +247,7 @@ void tst_QMediaPlaylistNavigator::currentItemOnce() void tst_QMediaPlaylistNavigator::currentItemInLoop() { - QLocalMediaPlaylistProvider playlist; + QMediaNetworkPlaylistProvider playlist; QMediaPlaylistNavigator navigator(&playlist); navigator.setPlaybackMode(QMediaPlaylist::CurrentItemInLoop); @@ -275,7 +275,7 @@ void tst_QMediaPlaylistNavigator::currentItemInLoop() void tst_QMediaPlaylistNavigator::randomPlayback() { - QLocalMediaPlaylistProvider playlist; + QMediaNetworkPlaylistProvider playlist; QMediaPlaylistNavigator navigator(&playlist); navigator.setPlaybackMode(QMediaPlaylist::Random); @@ -326,7 +326,7 @@ void tst_QMediaPlaylistNavigator::randomPlayback() void tst_QMediaPlaylistNavigator::testItemAt() { - QLocalMediaPlaylistProvider playlist; + QMediaNetworkPlaylistProvider playlist; QMediaPlaylistNavigator navigator(&playlist); navigator.setPlaybackMode(QMediaPlaylist::Random); QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random); @@ -348,7 +348,7 @@ void tst_QMediaPlaylistNavigator::testItemAt() void tst_QMediaPlaylistNavigator::testNextIndex() { - QLocalMediaPlaylistProvider playlist; + QMediaNetworkPlaylistProvider playlist; QMediaPlaylistNavigator navigator(&playlist); navigator.setPlaybackMode(QMediaPlaylist::Random); QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random); @@ -383,7 +383,7 @@ void tst_QMediaPlaylistNavigator::testNextIndex() void tst_QMediaPlaylistNavigator::testPreviousIndex() { - QLocalMediaPlaylistProvider playlist; + QMediaNetworkPlaylistProvider playlist; QMediaPlaylistNavigator navigator(&playlist); navigator.setPlaybackMode(QMediaPlaylist::Random); QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random); @@ -413,7 +413,7 @@ void tst_QMediaPlaylistNavigator::testPreviousIndex() void tst_QMediaPlaylistNavigator::testCurrentIndexChangedSignal() { - QLocalMediaPlaylistProvider playlist; + QMediaNetworkPlaylistProvider playlist; QMediaPlaylistNavigator navigator(&playlist); navigator.setPlaybackMode(QMediaPlaylist::Random); QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random); @@ -441,7 +441,7 @@ void tst_QMediaPlaylistNavigator::testCurrentIndexChangedSignal() void tst_QMediaPlaylistNavigator::testPlaybackModeChangedSignal() { - QLocalMediaPlaylistProvider playlist; + QMediaNetworkPlaylistProvider playlist; QMediaPlaylistNavigator navigator(&playlist); navigator.setPlaybackMode(QMediaPlaylist::Random); QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random); @@ -467,7 +467,7 @@ void tst_QMediaPlaylistNavigator::testPlaybackModeChangedSignal() void tst_QMediaPlaylistNavigator::testSurroundingItemsChangedSignal() { - QLocalMediaPlaylistProvider playlist; + QMediaNetworkPlaylistProvider playlist; QMediaPlaylistNavigator navigator(&playlist); navigator.setPlaybackMode(QMediaPlaylist::Random); QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random); @@ -493,7 +493,7 @@ void tst_QMediaPlaylistNavigator::testSurroundingItemsChangedSignal() void tst_QMediaPlaylistNavigator::testActivatedSignal() { - QLocalMediaPlaylistProvider playlist; + QMediaNetworkPlaylistProvider playlist; QMediaPlaylistNavigator navigator(&playlist); navigator.setPlaybackMode(QMediaPlaylist::Random); QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random); |