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(
IPC_MESSAGE_HANDLER(
MediaPlayerDelegateHostMsg_OnPictureInPictureAvailabilityChanged,
OnPictureInPictureAvailabilityChanged)
IPC_MESSAGE_HANDLER(MediaPlayerDelegateHostMsg_OnAudioOutputSinkChanged,
OnAudioOutputSinkChanged);
IPC_MESSAGE_HANDLER(MediaPlayerDelegateHostMsg_OnBufferUnderflow,
OnBufferUnderflow)
IPC_MESSAGE_UNHANDLED(handled = false)
......@@ -375,6 +377,11 @@ void MediaWebContentsObserver::OnPictureInPictureAvailabilityChanged(
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(
RenderFrameHost* render_frame_host,
int delegate_id) {
......
......@@ -40,7 +40,7 @@ struct MediaPosition;
namespace gfx {
class Size;
} // namespace size
} // namespace gfx
namespace content {
......@@ -148,6 +148,9 @@ class CONTENT_EXPORT MediaWebContentsObserver : public WebContentsObserver {
void OnPictureInPictureAvailabilityChanged(RenderFrameHost* render_frame_host,
int delegate_id,
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);
device::mojom::WakeLock* GetAudioWakeLock();
......
......@@ -124,6 +124,10 @@ IPC_MESSAGE_ROUTED2(
int /* delegate_id, distinguishes instances */,
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,
int /* delegate_id, distinguishes instances */)
......
......@@ -224,7 +224,10 @@ void RendererWebMediaPlayerDelegate::DidPictureInPictureAvailabilityChange(
void RendererWebMediaPlayerDelegate::DidAudioOutputSinkChange(
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) {
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