Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(522)

Issue 1930393002: Switch stream creation and closing in Chrome audio rendering from IPC to Mojo (Closed)

Created:
4 years, 7 months ago by rchtara
Modified:
4 years, 4 months ago
CC:
chromium-reviews, creis+watch_chromium.org, darin-cc_chromium.org, feature-media-reviews_chromium.org, jam, miu+watch_chromium.org, mkwst+moarreviews-renderer_chromium.org, mlamouri+watch-content_chromium.org, nasko+codewatch_chromium.org, posciak+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Switch stream creation and closing in Chrome audio rendering from IPC to Mojo This replaces audio stream creation and closing by using Mojo instead of IPC. It adds AudioOuputClient and AudioOutputImpl that implement the Mojo client and service for the Mojo interfaces defined in CL 1896883002. In future CLs: * Mojo will be used for all the other audio output stream operations (playing, pausing, ..) * AudioRendererHost and AudioMessageFilter will be removed and the logic inside them will be moved to AudioOuputClient and AudioOutputImpl. This is the content part: The media part is in CL https://codereview.chromium.org/1896883002 BUG=606707 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation

Patch Set 1 #

Total comments: 80

Patch Set 2 : rebase #

Patch Set 3 : rebase #

Patch Set 4 : render_frame_id #

Patch Set 5 : rebase + tests in progress #

Total comments: 8

Patch Set 6 : use of process_ instead of audio_renderer_host #

Total comments: 97

Patch Set 7 : #

Total comments: 2

Patch Set 8 : rebase #

Patch Set 9 : cleanup #

Patch Set 10 : use wrap #

Total comments: 63

Patch Set 11 : #

Patch Set 12 : add audio_renderer_host,use frame_ and rebase #

Patch Set 13 : fix windows #

Patch Set 14 : fix browser tests #

Patch Set 15 : duplicate socket #

Patch Set 16 : fix many issues #

Patch Set 17 : fix content_browsertests #

Patch Set 18 : fixwebkit #

Patch Set 19 : fixwindows #

Total comments: 1

Patch Set 20 : unique_ptr for Binding #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1704 lines, -109 lines) Patch
M content/browser/frame_host/render_frame_host_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +7 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +7 lines, -0 lines 0 comments Download
A content/browser/media/audio_output_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +89 lines, -0 lines 0 comments Download
A content/browser/media/audio_output_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +217 lines, -0 lines 0 comments Download
A + content/browser/media/audio_output_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +233 lines, -0 lines 0 comments Download
A content/browser/media/audio_output_stream_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +51 lines, -0 lines 0 comments Download
A content/browser/media/audio_output_stream_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +28 lines, -0 lines 0 comments Download
A content/browser/media/audio_output_stream_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +171 lines, -0 lines 0 comments Download
M content/browser/renderer_host/media/audio_renderer_host.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 6 chunks +26 lines, -16 lines 0 comments Download
M content/browser/renderer_host/media/audio_renderer_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 16 chunks +52 lines, -39 lines 0 comments Download
M content/browser/renderer_host/media/audio_renderer_host_unittest.cc View 1 2 3 4 5 6 9 10 13 chunks +84 lines, -29 lines 0 comments Download
M content/common/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 1 chunk +4 lines, -0 lines 0 comments Download
M content/content_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +5 lines, -0 lines 0 comments Download
M content/content_renderer.gypi View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +5 lines, -0 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +4 lines, -0 lines 0 comments Download
M content/renderer/media/audio_message_filter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +25 lines, -11 lines 0 comments Download
M content/renderer/media/audio_message_filter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 7 chunks +24 lines, -6 lines 0 comments Download
M content/renderer/media/audio_message_filter_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 chunks +13 lines, -5 lines 0 comments Download
A content/renderer/media/audio_output_client.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +117 lines, -0 lines 0 comments Download
A content/renderer/media/audio_output_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +181 lines, -0 lines 0 comments Download
A content/renderer/media/audio_output_client_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +354 lines, -0 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +4 lines, -0 lines 0 comments Download
M media/mojo/interfaces/mojo_bindings.gyp View 1 2 3 4 5 6 1 chunk +3 lines, -3 lines 0 comments Download

Messages

Total messages: 32 (11 generated)
rchtara
On 2016/04/29 16:14:32, rchtara wrote: > mailto:rchtara@chromium.org changed reviewers: > + mailto:mcasas@chromium.org, mailto:niklase@chromium.org, mailto:xingnan.wang@chromium.org This ...
4 years, 7 months ago (2016-04-29 16:18:17 UTC) #4
mcasas
https://codereview.chromium.org/1930393002/diff/1/content/browser/media/audio_output_impl.cc File content/browser/media/audio_output_impl.cc (right): https://codereview.chromium.org/1930393002/diff/1/content/browser/media/audio_output_impl.cc#newcode60 content/browser/media/audio_output_impl.cc:60: audio_renderer_host->audio_output_impl_ = service; Don't make AudioOutput*Impl friend of AudioRendererHost ...
4 years, 7 months ago (2016-04-29 18:29:01 UTC) #5
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1930393002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1930393002/1
4 years, 7 months ago (2016-04-29 20:19:23 UTC) #7
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios_dbg_simulator_gn on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator_gn/builds/27581) ios_dbg_simulator_ninja on ...
4 years, 7 months ago (2016-04-29 20:22:06 UTC) #9
Henrik Grunell
https://codereview.chromium.org/1930393002/diff/1/content/browser/media/audio_output_impl.h File content/browser/media/audio_output_impl.h (right): https://codereview.chromium.org/1930393002/diff/1/content/browser/media/audio_output_impl.h#newcode27 content/browser/media/audio_output_impl.h:27: class CONTENT_EXPORT AudioOutputStreamImpl On 2016/04/29 18:29:00, mcasas wrote: > ...
4 years, 7 months ago (2016-05-02 12:12:24 UTC) #10
Henrik Grunell
Just a few random comments. https://codereview.chromium.org/1930393002/diff/80001/content/browser/media/audio_output_impl_unittest.cc File content/browser/media/audio_output_impl_unittest.cc (right): https://codereview.chromium.org/1930393002/diff/80001/content/browser/media/audio_output_impl_unittest.cc#newcode45 content/browser/media/audio_output_impl_unittest.cc:45: } Nit: empty line ...
4 years, 7 months ago (2016-05-18 10:29:07 UTC) #13
tommi (sloooow) - chröme
got some comments on the first few files and since there are some issues with ...
4 years, 7 months ago (2016-05-20 13:26:13 UTC) #14
Henrik Grunell
https://codereview.chromium.org/1930393002/diff/100001/content/browser/media/audio_output_impl.cc File content/browser/media/audio_output_impl.cc (right): https://codereview.chromium.org/1930393002/diff/100001/content/browser/media/audio_output_impl.cc#newcode20 content/browser/media/audio_output_impl.cc:20: factory_ = base::Bind(AudioOutputStreamFactory::Factory); I suppose |factory_| is needed for ...
4 years, 7 months ago (2016-05-20 13:35:41 UTC) #15
rchtara
Hello, @DaleCurtis: I have done the changes you suggested regrading moving the code from audio_renderer_host ...
4 years, 7 months ago (2016-05-23 16:38:19 UTC) #18
DaleCurtis
Thanks for merging more into AudioOutputImpl from AudioRendererHost. I think that is looking better. Since ...
4 years, 7 months ago (2016-05-23 20:50:37 UTC) #19
rchtara
Great. thanks for the feedback: The AudioOutputStreamImpl is implementing the AudioOutputStream interface. It's going to ...
4 years, 7 months ago (2016-05-24 16:13:52 UTC) #20
rchtara
https://codereview.chromium.org/1930393002/diff/120001/content/browser/media/audio_output_impl.h File content/browser/media/audio_output_impl.h (right): https://codereview.chromium.org/1930393002/diff/120001/content/browser/media/audio_output_impl.h#newcode48 content/browser/media/audio_output_impl.h:48: // Called by AudioRendererHost::DoCompleteCreation to create the streams. On ...
4 years, 7 months ago (2016-05-24 17:25:55 UTC) #21
rchtara
nasko@chromium.org: Hello, Could you Please review changes in content/browser/frame_host/render_frame_host_impl.cc content/browser/frame_host/render_frame_host_impl.h content/browser/renderer_host/render_process_host_impl.h content/common/BUILD.gn content/public/browser/render_frame_host.h content/public/browser/render_process_host.h content/renderer/render_frame_impl.cc ...
4 years, 7 months ago (2016-05-25 14:34:24 UTC) #24
nasko
Few high level notes: * The implementation of the Mojo interface must be committed at ...
4 years, 7 months ago (2016-05-25 20:50:43 UTC) #25
rchtara
https://codereview.chromium.org/1930393002/diff/100001/content/browser/frame_host/render_frame_host_impl.cc File content/browser/frame_host/render_frame_host_impl.cc (right): https://codereview.chromium.org/1930393002/diff/100001/content/browser/frame_host/render_frame_host_impl.cc#newcode1938 content/browser/frame_host/render_frame_host_impl.cc:1938: GetServiceRegistry()->AddService( On 2016/05/20 13:26:12, tommi-chrömium wrote: > run git ...
4 years, 6 months ago (2016-05-27 15:24:39 UTC) #26
rchtara
Hello, Thanks @nasko for the review. @DaleCurtis: could you please have a look but just ...
4 years, 6 months ago (2016-05-27 16:25:22 UTC) #27
rchtara
Hello, Thanks @nasko for the review. @DaleCurtis: could you please have a look but just ...
4 years, 6 months ago (2016-05-27 16:25:32 UTC) #28
nasko
On 2016/05/27 16:25:32, rchtara wrote: > Hello, > Thanks @nasko for the review. > @DaleCurtis: ...
4 years, 6 months ago (2016-05-27 22:46:34 UTC) #29
nasko
https://codereview.chromium.org/1930393002/diff/180001/content/browser/media/audio_output_impl.cc File content/browser/media/audio_output_impl.cc (right): https://codereview.chromium.org/1930393002/diff/180001/content/browser/media/audio_output_impl.cc#newcode137 content/browser/media/audio_output_impl.cc:137: callback->second.Run(stream_id, std::move(stream_ptr), On 2016/05/27 15:24:38, rchtara wrote: > On ...
4 years, 6 months ago (2016-05-27 22:52:00 UTC) #30
Henrik Grunell
Just a random new comment + an old one I hadn't sent out yet. https://codereview.chromium.org/1930393002/diff/100001/content/browser/media/audio_output_impl.h ...
4 years, 6 months ago (2016-05-30 12:44:56 UTC) #31
rchtara
4 years, 6 months ago (2016-05-31 17:09:22 UTC) #32
On 2016/05/27 22:46:34, nasko (slow) wrote:
> On 2016/05/27 16:25:32, rchtara wrote:
> > Hello,
> > Thanks @nasko for the review.
> > @DaleCurtis: could you please have a look but just ignore the tests (i will
> > update them later).
> > If you are going to ask some mojo experts to have a look to the patch, it
> would
> > be great if you could  do that as soon as possible too.
> > (I still have 5 days left, and would like to land the patch before leaving.)
> > Thanks a lot guys for you help and reviews.
> > Riadh
> 
> I appreciate the desire to wrap this up before leaving, but Monday is a public
> holiday in the US, which leaves 2 days more. I'm afraid this is a bit too
short
> timeframe to ensure this CL is in shape to be committed.

Hello,
@nasko: Good point.
We discussed about landing the cl before I leave in our team meeting and tommi@
and grunell@ agreed with you and thought it s better to go carefully with this
cl than to risk breaking something in chrome for example: So, even if we don't
land it before I will leave, it's not a big problem after all, I can just give
it to someone else so he can continue working on it.
Thanks a lot
Riadh

Powered by Google App Engine
This is Rietveld 408576698