Index: webkit/media/android/webmediaplayer_android.cc |
diff --git a/webkit/media/android/webmediaplayer_android.cc b/webkit/media/android/webmediaplayer_android.cc |
index cc88632bcafdfbe11e9ac1bca64e1c9cf80ef89d..dabb584fa56e8383f6d05cc99baa26f4a706423d 100644 |
--- a/webkit/media/android/webmediaplayer_android.cc |
+++ b/webkit/media/android/webmediaplayer_android.cc |
@@ -520,7 +520,15 @@ void WebMediaPlayerAndroid::OnMediaSeekRequest(base::TimeDelta time_to_seek, |
void WebMediaPlayerAndroid::UpdateNetworkState( |
WebMediaPlayer::NetworkState state) { |
- network_state_ = state; |
+ if (ready_state_ == WebMediaPlayer::ReadyStateHaveNothing && |
+ (state == WebMediaPlayer::NetworkStateNetworkError || |
+ state == WebMediaPlayer::NetworkStateDecodeError)) { |
+ // Any error that occurs before reaching ReadyStateHaveMetadata should |
+ // be considered a format error. |
+ network_state_ = WebMediaPlayer::NetworkStateFormatError; |
+ } else { |
+ network_state_ = state; |
+ } |
client_->networkStateChanged(); |
} |