summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2013-08-06 16:15:35 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-08-06 16:15:35 +0000
commitb85187332e740be337ce2e3e0d8d21c5c8651bf8 (patch)
treeede35fbf668c6e0ffc68881a69efd23d8dabd921
parent743649fa70392b668377fb507d251b346c7b2769 (diff)
parentb13820ffafcb6bcdd33b6272676535afb4dff479 (diff)
downloadframeworks_av-b85187332e740be337ce2e3e0d8d21c5c8651bf8.zip
frameworks_av-b85187332e740be337ce2e3e0d8d21c5c8651bf8.tar.gz
frameworks_av-b85187332e740be337ce2e3e0d8d21c5c8651bf8.tar.bz2
Merge "Reject unprepared MediaPlayers"
-rw-r--r--media/libmedia/mediaplayer.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/media/libmedia/mediaplayer.cpp b/media/libmedia/mediaplayer.cpp
index 963b04f..056cc0a 100644
--- a/media/libmedia/mediaplayer.cpp
+++ b/media/libmedia/mediaplayer.cpp
@@ -811,6 +811,13 @@ status_t MediaPlayer::setNextMediaPlayer(const sp<MediaPlayer>& next) {
if (mPlayer == NULL) {
return NO_INIT;
}
+
+ if (next != NULL && !(next->mCurrentState &
+ (MEDIA_PLAYER_PREPARED | MEDIA_PLAYER_PAUSED | MEDIA_PLAYER_PLAYBACK_COMPLETE))) {
+ ALOGE("next player is not prepared");
+ return INVALID_OPERATION;
+ }
+
return mPlayer->setNextPlayer(next == NULL ? NULL : next->mPlayer);
}