Index: media/base/android/media_player_bridge.cc |
diff --git a/media/base/android/media_player_bridge.cc b/media/base/android/media_player_bridge.cc |
index 433a6a8d15a3c49b3d49a2c9fed3fb43c9672788..15279a5334f40e5fa26956ac0209ed784d5c385c 100644 |
--- a/media/base/android/media_player_bridge.cc |
+++ b/media/base/android/media_player_bridge.cc |
@@ -15,6 +15,7 @@ |
#include "media/base/android/media_player_manager.h" |
#include "media/base/android/media_resource_getter.h" |
#include "media/base/android/media_url_interceptor.h" |
+#include "media/base/buffers.h" |
using base::android::ConvertUTF8ToJavaString; |
using base::android::ScopedJavaLocalRef; |
@@ -368,9 +369,10 @@ base::TimeDelta MediaPlayerBridge::GetDuration() { |
if (!prepared_) |
return duration_; |
JNIEnv* env = base::android::AttachCurrentThread(); |
- return base::TimeDelta::FromMilliseconds( |
- Java_MediaPlayerBridge_getDuration( |
- env, j_media_player_bridge_.obj())); |
+ const int duration_ms = |
+ Java_MediaPlayerBridge_getDuration(env, j_media_player_bridge_.obj()); |
+ return duration_ms < 0 ? media::kInfiniteDuration() |
+ : base::TimeDelta::FromMilliseconds(duration_ms); |
} |
void MediaPlayerBridge::Release() { |