Instead of returning an error, return an invalid duration (-1 ms)
if no duration information was available. This prevents us from
entering ERROR state, effectively rendering the player instance useless.
Change-Id: I602d2661ae8b8633360306c0ea9208fb11e2bf17
related-to-bug: 8596285
diff --git a/media/libmedia/mediaplayer.cpp b/media/libmedia/mediaplayer.cpp
index 3defec3..ecae3d3 100644
--- a/media/libmedia/mediaplayer.cpp
+++ b/media/libmedia/mediaplayer.cpp
@@ -398,6 +398,13 @@
if (mPlayer != 0 && isValidState) {
int durationMs;
status_t ret = mPlayer->getDuration(&durationMs);
+
+ if (ret != OK) {
+ // Do not enter error state just because no duration was available.
+ durationMs = -1;
+ ret = OK;
+ }
+
if (msec) {
*msec = durationMs;
}