Commit 5bbfa010 authored by Noah Rose Ledesma's avatar Noah Rose Ledesma Committed by Commit Bot

GMC: Add OnAudioOutputSinkChanged delegate message & receiver

The webmedia player delegate will now send IPC messages informing
webcontents observers of changes of audio output devices.
used.

Bug: 1110143
Change-Id: Iac3712ee5015f0bd00176b40e3fad60c5c9361eb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2321767
Commit-Queue: Noah Rose Ledesma <noahrose@google.com>
Reviewed-by: default avatarDale Curtis <dalecurtis@chromium.org>
Reviewed-by: default avatarMatthew Denton <mpdenton@chromium.org>
Reviewed-by: default avatarTommy Steimel <steimel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#794848}
parent 215be5e7
...@@ -220,6 +220,8 @@ bool MediaWebContentsObserver::OnMessageReceived( ...@@ -220,6 +220,8 @@ bool MediaWebContentsObserver::OnMessageReceived(
IPC_MESSAGE_HANDLER( IPC_MESSAGE_HANDLER(
MediaPlayerDelegateHostMsg_OnPictureInPictureAvailabilityChanged, MediaPlayerDelegateHostMsg_OnPictureInPictureAvailabilityChanged,
OnPictureInPictureAvailabilityChanged) OnPictureInPictureAvailabilityChanged)
IPC_MESSAGE_HANDLER(MediaPlayerDelegateHostMsg_OnAudioOutputSinkChanged,
OnAudioOutputSinkChanged);
IPC_MESSAGE_HANDLER(MediaPlayerDelegateHostMsg_OnBufferUnderflow, IPC_MESSAGE_HANDLER(MediaPlayerDelegateHostMsg_OnBufferUnderflow,
OnBufferUnderflow) OnBufferUnderflow)
IPC_MESSAGE_UNHANDLED(handled = false) IPC_MESSAGE_UNHANDLED(handled = false)
...@@ -375,6 +377,11 @@ void MediaWebContentsObserver::OnPictureInPictureAvailabilityChanged( ...@@ -375,6 +377,11 @@ void MediaWebContentsObserver::OnPictureInPictureAvailabilityChanged(
MediaPlayerId(render_frame_host, delegate_id), available); MediaPlayerId(render_frame_host, delegate_id), available);
} }
void MediaWebContentsObserver::OnAudioOutputSinkChanged(
RenderFrameHost* render_frame_host,
int delegate_id,
std::string hashed_device_id) {}
void MediaWebContentsObserver::OnBufferUnderflow( void MediaWebContentsObserver::OnBufferUnderflow(
RenderFrameHost* render_frame_host, RenderFrameHost* render_frame_host,
int delegate_id) { int delegate_id) {
......
...@@ -40,7 +40,7 @@ struct MediaPosition; ...@@ -40,7 +40,7 @@ struct MediaPosition;
namespace gfx { namespace gfx {
class Size; class Size;
} // namespace size } // namespace gfx
namespace content { namespace content {
...@@ -148,6 +148,9 @@ class CONTENT_EXPORT MediaWebContentsObserver : public WebContentsObserver { ...@@ -148,6 +148,9 @@ class CONTENT_EXPORT MediaWebContentsObserver : public WebContentsObserver {
void OnPictureInPictureAvailabilityChanged(RenderFrameHost* render_frame_host, void OnPictureInPictureAvailabilityChanged(RenderFrameHost* render_frame_host,
int delegate_id, int delegate_id,
bool available); bool available);
void OnAudioOutputSinkChanged(RenderFrameHost* render_frame_host,
int delegate_id,
std::string hashed_device_id);
void OnBufferUnderflow(RenderFrameHost* render_frame_host, int delegate_id); void OnBufferUnderflow(RenderFrameHost* render_frame_host, int delegate_id);
device::mojom::WakeLock* GetAudioWakeLock(); device::mojom::WakeLock* GetAudioWakeLock();
......
...@@ -124,6 +124,10 @@ IPC_MESSAGE_ROUTED2( ...@@ -124,6 +124,10 @@ IPC_MESSAGE_ROUTED2(
int /* delegate_id, distinguishes instances */, int /* delegate_id, distinguishes instances */,
bool /* picture-in-picture availability */) bool /* picture-in-picture availability */)
IPC_MESSAGE_ROUTED2(MediaPlayerDelegateHostMsg_OnAudioOutputSinkChanged,
int /* delegate_id, distinguishes instances */,
std::string /* hashed_device_id */)
IPC_MESSAGE_ROUTED1(MediaPlayerDelegateHostMsg_OnBufferUnderflow, IPC_MESSAGE_ROUTED1(MediaPlayerDelegateHostMsg_OnBufferUnderflow,
int /* delegate_id, distinguishes instances */) int /* delegate_id, distinguishes instances */)
......
...@@ -224,7 +224,10 @@ void RendererWebMediaPlayerDelegate::DidPictureInPictureAvailabilityChange( ...@@ -224,7 +224,10 @@ void RendererWebMediaPlayerDelegate::DidPictureInPictureAvailabilityChange(
void RendererWebMediaPlayerDelegate::DidAudioOutputSinkChange( void RendererWebMediaPlayerDelegate::DidAudioOutputSinkChange(
int delegate_id, int delegate_id,
const std::string& hashed_device_id) {} const std::string& hashed_device_id) {
Send(new MediaPlayerDelegateHostMsg_OnAudioOutputSinkChanged(
routing_id(), delegate_id, hashed_device_id));
}
void RendererWebMediaPlayerDelegate::DidBufferUnderflow(int player_id) { void RendererWebMediaPlayerDelegate::DidBufferUnderflow(int player_id) {
Send(new MediaPlayerDelegateHostMsg_OnBufferUnderflow(routing_id(), Send(new MediaPlayerDelegateHostMsg_OnBufferUnderflow(routing_id(),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment