New issue
Advanced search Search tips

Issue 784812 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 425368



Sign in to add a comment

Decouple audio output stream monitoring from WebContentsImpl

Project Member Reported by guidou@chromium.org, Nov 14 2017

Issue description

This is required for moving the audio stack to an utility process.
The current monitoring is tightly coupled with WebContentsImpl, which must remain on the browser process.
 

Comment 1 by guidou@chromium.org, Nov 14 2017

Blocking: 425368
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a79f734269fecea8cc69f7982ae68b66ce510608

commit a79f734269fecea8cc69f7982ae68b66ce510608
Author: Guido Urdaneta <guidou@chromium.org>
Date: Fri Dec 01 23:16:10 2017

Decouple audio monitoring from WebContentsImpl

This CL moves most of the logic for monitoring audibility of audio
output streams from AudioStreamMonitor to AudioOutputDelegateImpl.
This is in anticipation to moving the audio stack to an utility
process.
AudioStreamMonitor is tightly coupled with WebContentsImpl and will
remain on the browser process.

The approach this CL takes is to move actual monitoring to
AudioOutputDelegateImpl and use a Mojo object to pass notifications
to AudioStreamMonitor. The Mojo object (AudioOutputStreamObserver) will
live on the browser process and a reference to it will be passed to
AudioOutputDelegateImpl so that it can forward updates.

The only significant behavior change is that the indicator will be on
for some amount of time after the tab becomes inaudible. Previously,
the indicator was on for some amount of time after the last time the
tab was polled to be audible. In both cases, frequent changes in
audibility do not affect the indicator on the tab UI, but the new
scheme might keep the indicator on slightly longer due to the
notification latency.


Bug:  784812 
Change-Id: I38912122e8bca8a0c508957271fd762f27ecda2a
Reviewed-on: https://chromium-review.googlesource.com/738198
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Olga Sharonova <olka@chromium.org>
Reviewed-by: Max Morin <maxmorin@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521105}
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/BUILD.gn
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/media/audio_stream_monitor.cc
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/media/audio_stream_monitor.h
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/media/audio_stream_monitor_unittest.cc
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/renderer_host/media/audio_output_delegate_impl.cc
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/renderer_host/media/audio_output_delegate_impl.h
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/renderer_host/media/audio_output_delegate_impl_unittest.cc
[add] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/renderer_host/media/audio_output_stream_observer_impl.cc
[add] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/renderer_host/media/audio_output_stream_observer_impl.h
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/renderer_host/media/audio_renderer_host.cc
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/renderer_host/media/render_frame_audio_output_stream_factory.cc
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/renderer_host/media/render_frame_audio_output_stream_factory.h
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/renderer_host/media/render_frame_audio_output_stream_factory_unittest.cc
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/renderer_host/media/renderer_audio_output_stream_factory_context.h
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/renderer_host/media/renderer_audio_output_stream_factory_context_impl.cc
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/content/browser/renderer_host/media/renderer_audio_output_stream_factory_context_impl.h
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/media/mojo/interfaces/audio_output_stream.mojom
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/media/mojo/services/mojo_audio_output_stream_provider.cc
[modify] https://crrev.com/a79f734269fecea8cc69f7982ae68b66ce510608/media/mojo/services/mojo_audio_output_stream_provider.h

Comment 3 by guidou@chromium.org, Jan 23 2018

Status: Fixed (was: Assigned)

Sign in to add a comment