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 b1bb3fec3cfa5ecf8d3b64a105717a5d9083747f..174aaf9cdff77765e8ae20186407697832e64b67 100644 |
--- a/media/base/android/media_player_bridge.cc |
+++ b/media/base/android/media_player_bridge.cc |
@@ -50,6 +50,7 @@ MediaPlayerBridge::MediaPlayerBridge( |
can_seek_forward_(true), |
can_seek_backward_(true), |
is_surface_in_use_(false), |
+ volume_(-1.0), |
weak_factory_(this) { |
listener_.reset(new MediaPlayerListener(base::MessageLoopProxy::current(), |
weak_factory_.GetWeakPtr())); |
@@ -94,6 +95,9 @@ void MediaPlayerBridge::CreateJavaMediaPlayerBridge() { |
j_media_player_bridge_.Reset(Java_MediaPlayerBridge_create( |
env, reinterpret_cast<intptr_t>(this))); |
+ if (volume_ >= 0) |
+ SetVolume(volume_); |
+ |
SetMediaPlayerListener(); |
} |
@@ -323,8 +327,10 @@ void MediaPlayerBridge::Release() { |
} |
void MediaPlayerBridge::SetVolume(double volume) { |
- if (j_media_player_bridge_.is_null()) |
+ if (j_media_player_bridge_.is_null()) { |
+ volume_ = volume; |
return; |
+ } |
JNIEnv* env = base::android::AttachCurrentThread(); |
CHECK(env); |