Index: media/blink/webmediaplayer_impl.h |
diff --git a/media/blink/webmediaplayer_impl.h b/media/blink/webmediaplayer_impl.h |
index ba03528cde0586e5ed147673922c16c0f41b3545..ac5e5cb74699ff7390e53b74b3d8d7998e35d774 100644 |
--- a/media/blink/webmediaplayer_impl.h |
+++ b/media/blink/webmediaplayer_impl.h |
@@ -194,6 +194,9 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl |
// WebMediaPlayerDelegate::Observer implementation. |
void OnHidden() override; |
void OnShown() override; |
+ void OnPlay() override; |
+ void OnPause() override; |
+ void OnVolumeMultiplierUpdate(double multiplier) override; |
#if defined(OS_ANDROID) // WMPI_CAST |
bool isRemote() const override; |
@@ -385,7 +388,12 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl |
blink::WebMediaPlayerClient* client_; |
blink::WebMediaPlayerEncryptedMediaClient* encrypted_client_; |
+ // WebMediaPlayer notifies the |delegate_| of playback state changes using |
+ // |delegate_id_|; an id provided after registering with the delegate. The |
+ // WebMediaPlayer may also receive directives (play, pause) from the delegate |
+ // via the WebMediaPlayerDelegate::Observer interface after registration. |
base::WeakPtr<WebMediaPlayerDelegate> delegate_; |
+ int delegate_id_; |
WebMediaPlayerParams::DeferLoadCB defer_load_cb_; |
WebMediaPlayerParams::Context3DCB context_3d_cb_; |
@@ -434,6 +442,13 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl |
WebMediaPlayerCast cast_impl_; |
#endif |
+ // The last volume received by setVolume() and the last volume multiplier from |
+ // OnVolumeMultiplierUpdate(). The multiplier is typical 1.0, but may be less |
+ // if the WebMediaPlayerDelegate has requested a volume reduction (ducking) |
+ // for a transient sound. Playout volume is derived by volume * multiplier. |
+ double volume_; |
+ double volume_multiplier_; |
+ |
scoped_ptr<RendererFactory> renderer_factory_; |
DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); |