Fix issue 2876124.
Allow calls to MediaPlayer::notify() in idle state to signal errors from JNI.
Change-Id: I1515fe69766f0a926b76e15c4971317da2acd6a0
diff --git a/media/libmedia/mediaplayer.cpp b/media/libmedia/mediaplayer.cpp
index 1c99ae5..f3229c0 100644
--- a/media/libmedia/mediaplayer.cpp
+++ b/media/libmedia/mediaplayer.cpp
@@ -568,7 +568,8 @@
locked = true;
}
- if (mPlayer == 0) {
+ // Allows calls from JNI in idle state to notify errors
+ if (!(msg == MEDIA_ERROR && mCurrentState == MEDIA_PLAYER_IDLE) && mPlayer == 0) {
LOGV("notify(%d, %d, %d) callback on disconnected mediaplayer", msg, ext1, ext2);
if (locked) mLock.unlock(); // release the lock when done.
return;