Merge "mediaplayer2: allow prepare DRM in non-prepare states"
diff --git a/media/libmediaplayer2/mediaplayer2.cpp b/media/libmediaplayer2/mediaplayer2.cpp
index 53f2fb1..ae7ac59 100644
--- a/media/libmediaplayer2/mediaplayer2.cpp
+++ b/media/libmediaplayer2/mediaplayer2.cpp
@@ -1124,8 +1124,10 @@
// completed) so the state change to "prepared" might not have happened yet (e.g., buffering).
// Still, we can allow prepareDrm for the use case of being called in OnDrmInfoListener.
if (!(mCurrentState & (MEDIA_PLAYER2_PREPARING | MEDIA_PLAYER2_PREPARED))) {
- ALOGE("prepareDrm is called in the wrong state (%d).", mCurrentState);
- return INVALID_OPERATION;
+ ALOGW("prepareDrm(%lld) called in non-prepare state(%d)", (long long)srcId, mCurrentState);
+ if (srcId == mSrcId) {
+ return INVALID_OPERATION;
+ }
}
if (drmSessionId.isEmpty()) {