| Index: content/browser/media/session/media_session.h
|
| diff --git a/content/browser/media/session/media_session.h b/content/browser/media/session/media_session.h
|
| index d791c61eacc54dde1bfc4437a7223ad0be8f1638..832e95cf8bb9596cb68908e2135a759a3c3106b1 100644
|
| --- a/content/browser/media/session/media_session.h
|
| +++ b/content/browser/media/session/media_session.h
|
| @@ -103,8 +103,10 @@ class MediaSession : public WebContentsObserver,
|
| // |type| represents the origin of the request.
|
| CONTENT_EXPORT void Stop(SuspendType suspend_type);
|
|
|
| - // Change the volume multiplier of the session to |volume_multiplier|.
|
| - CONTENT_EXPORT void SetVolumeMultiplier(double volume_multiplier);
|
| + CONTENT_EXPORT void Duck();
|
| + CONTENT_EXPORT void Unduck();
|
| +
|
| + CONTENT_EXPORT bool IsDucking() { return is_ducking_; }
|
|
|
| // Returns if the session can be controlled by Resume() and Suspend calls
|
| // above.
|
| @@ -123,6 +125,8 @@ class MediaSession : public WebContentsObserver,
|
| // Returns if the session is currently suspended or inactive.
|
| CONTENT_EXPORT bool IsSuspended() const;
|
|
|
| + void SetOnTop(bool is_on_top);
|
| +
|
| private:
|
| friend class content::WebContentsUserData<MediaSession>;
|
| friend class ::MediaSessionBrowserTest;
|
| @@ -192,8 +196,15 @@ class MediaSession : public WebContentsObserver,
|
| RegisterMediaSessionStateChangedCallbackForTest(
|
| const StateChangedCallback& cb);
|
|
|
| + CONTENT_EXPORT bool AddPepperPlayer(MediaSessionObserver* observer,
|
| + int player_id);
|
| +
|
| + double GetVolumeMultiplier() const;
|
| + double GetPepperVolumeMultiplier() const;
|
| +
|
| std::unique_ptr<MediaSessionDelegate> delegate_;
|
| PlayersMap players_;
|
| + PlayersMap pepper_players_;
|
|
|
| State audio_focus_state_;
|
| SuspendType suspend_type_;
|
| @@ -201,9 +212,12 @@ class MediaSession : public WebContentsObserver,
|
|
|
| MediaSessionUmaHelper uma_helper_;
|
|
|
| - // The volume multiplier of this session. All players in this session should
|
| - // multiply their volume with this multiplier to get the effective volume.
|
| - double volume_multiplier_;
|
| + // Whether this session is ducked, which is used to compute the volume
|
| + // multiplier of this session. All players in this session should multiply
|
| + // their volume with this multiplier to get the effective volume.
|
| + bool is_ducking_;
|
| +
|
| + bool is_on_top_;
|
|
|
| MediaMetadata metadata_;
|
| base::CallbackList<void(State)> media_session_state_listeners_;
|
|
|