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 a9bf7e42900a7528ce284ee442aa8771b468d65a..6048dd33b4b6a46e1e07a23c4ccb85c522d22bb7 100644 |
--- a/media/base/android/media_player_bridge.cc |
+++ b/media/base/android/media_player_bridge.cc |
@@ -355,6 +355,8 @@ void MediaPlayerBridge::Release() { |
if (j_media_player_bridge_.is_null()) |
return; |
+ SetAudible(false); |
+ |
time_update_timer_.Stop(); |
if (prepared_) { |
pending_seek_ = GetCurrentTime(); |
@@ -389,11 +391,13 @@ void MediaPlayerBridge::OnVideoSizeChanged(int width, int height) { |
} |
void MediaPlayerBridge::OnPlaybackComplete() { |
+ SetAudible(false); |
time_update_timer_.Stop(); |
MediaPlayerAndroid::OnPlaybackComplete(); |
} |
void MediaPlayerBridge::OnMediaInterrupted() { |
+ SetAudible(false); |
time_update_timer_.Stop(); |
MediaPlayerAndroid::OnMediaInterrupted(); |
} |
@@ -453,9 +457,13 @@ void MediaPlayerBridge::StartInternal() { |
base::TimeDelta::FromMilliseconds(kTimeUpdateInterval), |
this, &MediaPlayerBridge::OnTimeUpdateTimerFired); |
} |
+ |
+ SetAudible(volume_ > 0); // need to check the volume |
} |
void MediaPlayerBridge::PauseInternal() { |
+ SetAudible(false); |
+ |
JNIEnv* env = base::android::AttachCurrentThread(); |
Java_MediaPlayerBridge_pause(env, j_media_player_bridge_.obj()); |
time_update_timer_.Stop(); |