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

Issue 712463004: media: Support MojoRendererService in the browser process. (Closed)

Created:
6 years, 1 month ago by xhwang
Modified:
5 years, 10 months ago
CC:
chromium-reviews, creis+watch_chromium.org, qsr+mojo_chromium.org, Aaron Boodman, nasko+codewatch_chromium.org, yzshen+watch_chromium.org, abarth-chromium, feature-media-reviews_chromium.org, darin-cc_chromium.org, mkwst+moarreviews-renderer_chromium.org, darin (slow to review), ben+mojo_chromium.org, viettrungluu+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

media: Support MojoRendererService in the browser process. On some platforms, we run part of the media pipeline in the browser process. For example, on ChromeCast and on Android, audio/video buffers are decoded in the browser process. Currently, there are some ad-hoc IPC mechanism implemented for these platforms to support hosting the decoders in the browser process. This CL aims at providing a common mojo based path to support this scenario. This CL makes it possible to host a mojo::MeidaRenderer service in the browser process. By default, it's using media::RendererImpl and some default audio/video decoders. In later CLs, I'll update this so that we can support embedder specific media::Renderer implementation in MojoRendererService. Note that media playback is NOT working yet due to DataPipe is not working out-of-process. Test steps: 1, Change "enable_media_mojo_renderer" to true in media/media_options.gni. 2, Build a GN build of Chrome. 3, Play <video> in Chrome. BUG=431776 TEST=See above test steps. Committed: https://crrev.com/e6117333d61fe759bcecd8e6cab927236ce3da79 Cr-Commit-Position: refs/heads/master@{#313463}

Patch Set 1 #

Patch Set 2 : Rebased and Cleaned. #

Total comments: 4

Patch Set 3 : Cleanup. #

Patch Set 4 : rebase only #

Patch Set 5 : Fix GN build. #

Total comments: 1

Patch Set 6 : Fix GN; Drop GYP. #

Total comments: 12

Patch Set 7 : comments addressed #

Patch Set 8 : comments addressed #

Patch Set 9 : rebase only #

Patch Set 10 : rebase only #

Patch Set 11 : Fix BUILD.gn. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+123 lines, -7 lines) Patch
M content/browser/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/DEPS View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -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 3 chunks +18 lines, -0 lines 0 comments Download
M content/renderer/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +8 lines, -0 lines 0 comments Download
A content/renderer/media/media_renderer_service_provider.h View 1 2 3 4 5 6 7 1 chunk +35 lines, -0 lines 0 comments Download
A content/renderer/media/media_renderer_service_provider.cc View 1 2 3 4 5 6 7 1 chunk +23 lines, -0 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 5 6 7 8 9 5 chunks +14 lines, -2 lines 0 comments Download
M media/media_options.gni View 1 2 3 4 5 1 chunk +5 lines, -2 lines 0 comments Download
M media/mojo/services/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 6 chunks +11 lines, -2 lines 0 comments Download
M media/mojo/services/mojo_renderer_service.h View 1 2 3 4 5 6 7 8 9 2 chunks +4 lines, -1 line 0 comments Download

Messages

Total messages: 48 (7 generated)
xhwang
https://codereview.chromium.org/712463004/diff/20001/content/browser/frame_host/render_frame_host_impl.cc File content/browser/frame_host/render_frame_host_impl.cc (right): https://codereview.chromium.org/712463004/diff/20001/content/browser/frame_host/render_frame_host_impl.cc#newcode1193 content/browser/frame_host/render_frame_host_impl.cc:1193: GetServiceRegistry()->AddService<mojo::MediaRenderer>( Currently we don't want to provide this service ...
6 years ago (2014-12-15 21:32:30 UTC) #1
xhwang
PTAL This CL is not complete, but is ready for partial-review/discussion. One part that's missing ...
6 years ago (2014-12-15 21:48:57 UTC) #3
DaleCurtis
https://codereview.chromium.org/712463004/diff/20001/content/browser/frame_host/render_frame_host_impl.cc File content/browser/frame_host/render_frame_host_impl.cc (right): https://codereview.chromium.org/712463004/diff/20001/content/browser/frame_host/render_frame_host_impl.cc#newcode1193 content/browser/frame_host/render_frame_host_impl.cc:1193: GetServiceRegistry()->AddService<mojo::MediaRenderer>( On 2014/12/15 21:32:30, xhwang wrote: > Currently we ...
6 years ago (2014-12-15 23:21:17 UTC) #4
xhwang
On 2014/12/15 23:21:17, DaleCurtis wrote: > https://codereview.chromium.org/712463004/diff/20001/content/browser/frame_host/render_frame_host_impl.cc > File content/browser/frame_host/render_frame_host_impl.cc (right): > > https://codereview.chromium.org/712463004/diff/20001/content/browser/frame_host/render_frame_host_impl.cc#newcode1193 > ...
6 years ago (2014-12-16 00:23:17 UTC) #5
jamesr
> But I am still not sure whether we should always try to connect to ...
6 years ago (2014-12-16 00:25:15 UTC) #6
xhwang
On 2014/12/16 00:25:15, jamesr wrote: > > But I am still not sure whether we ...
6 years ago (2014-12-16 00:34:22 UTC) #7
jamesr
Where is the code that has to make this decision?
6 years ago (2014-12-16 00:42:15 UTC) #8
jamesr
Code in //content will never link into html_viewer and vice versa, so it seems like ...
6 years ago (2014-12-16 00:43:22 UTC) #9
xhwang
On 2014/12/16 00:43:22, jamesr wrote: > Code in //content will never link into html_viewer and ...
6 years ago (2014-12-16 00:49:47 UTC) #10
jamesr
That code's already full to the gills of platform-specific #ifdefs. Whether that bit of code ...
6 years ago (2014-12-16 00:53:44 UTC) #11
xhwang
On 2014/12/16 00:53:44, jamesr wrote: > That code's already full to the gills of platform-specific ...
6 years ago (2014-12-16 04:09:54 UTC) #12
xhwang
rebase only
6 years ago (2014-12-16 07:09:57 UTC) #13
qsr
On 2014/12/16 00:23:17, xhwang wrote: > On 2014/12/15 23:21:17, DaleCurtis wrote: > > > https://codereview.chromium.org/712463004/diff/20001/content/browser/frame_host/render_frame_host_impl.cc ...
6 years ago (2014-12-16 08:59:22 UTC) #14
DaleCurtis
Since content depends on media you should be able to accomplish your define with an ...
6 years ago (2014-12-16 20:59:20 UTC) #15
xhwang
> > The plan is to: > > 1. Use RendererFactory in MojoRendererService so that ...
6 years ago (2014-12-17 18:06:05 UTC) #16
xhwang
On 2014/12/16 20:59:20, DaleCurtis wrote: > Since content depends on media you should be able ...
6 years ago (2014-12-17 19:28:22 UTC) #17
DaleCurtis
On 2014/12/17 19:28:22, xhwang wrote: > On 2014/12/16 20:59:20, DaleCurtis wrote: > > Since content ...
6 years ago (2014-12-17 19:30:04 UTC) #18
xhwang
> > Hmm, currently content_browser and content_renderer are still using gypi > instead > > ...
6 years ago (2014-12-17 22:59:13 UTC) #20
xhwang
It turned out I CAN do this in GN! So I dropped the gyp changes ...
6 years ago (2014-12-18 17:08:27 UTC) #21
jamesr
https://codereview.chromium.org/712463004/diff/120001/media/mojo/services/BUILD.gn File media/mojo/services/BUILD.gn (right): https://codereview.chromium.org/712463004/diff/120001/media/mojo/services/BUILD.gn#newcode15 media/mojo/services/BUILD.gn:15: config("media_mojo_dependent_config") { nit: i would name this after what ...
6 years ago (2014-12-18 17:49:55 UTC) #22
DaleCurtis
https://codereview.chromium.org/712463004/diff/120001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/712463004/diff/120001/content/renderer/render_frame_impl.cc#newcode488 content/renderer/render_frame_impl.cc:488: class MediaRendererServiceProvider Is this something we want to live ...
6 years ago (2014-12-18 19:25:11 UTC) #23
jamesr
Non-directly-dependent targets. Targets 50 build edges downstream that never see any of your headers will ...
6 years ago (2014-12-18 19:26:18 UTC) #24
xhwang
comments addressed
6 years ago (2014-12-18 21:22:10 UTC) #25
xhwang
Thanks for the comments! Please take a look again. https://codereview.chromium.org/712463004/diff/120001/media/mojo/services/BUILD.gn File media/mojo/services/BUILD.gn (right): https://codereview.chromium.org/712463004/diff/120001/media/mojo/services/BUILD.gn#newcode15 media/mojo/services/BUILD.gn:15: ...
6 years ago (2014-12-18 21:22:38 UTC) #26
jamesr
GN files lgtm
6 years ago (2014-12-18 21:25:19 UTC) #27
DaleCurtis
https://codereview.chromium.org/712463004/diff/120001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/712463004/diff/120001/content/renderer/render_frame_impl.cc#newcode488 content/renderer/render_frame_impl.cc:488: class MediaRendererServiceProvider On 2014/12/18 19:25:11, DaleCurtis_OOO_Until_Jan5 wrote: > Is ...
6 years ago (2014-12-18 21:34:02 UTC) #28
DaleCurtis
Heading OOO, so this lgtm % resolution of the RenderFrameImpl comments. I defer to ddorwin@ ...
6 years ago (2014-12-18 22:26:53 UTC) #30
xhwang
comments addressed
6 years ago (2014-12-18 22:48:06 UTC) #31
xhwang
DaleCurtis: PTAnotherL, thanks! https://codereview.chromium.org/712463004/diff/120001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/712463004/diff/120001/content/renderer/render_frame_impl.cc#newcode488 content/renderer/render_frame_impl.cc:488: class MediaRendererServiceProvider On 2014/12/18 21:34:02, DaleCurtis_OOO_Until_Jan5 ...
6 years ago (2014-12-18 22:48:30 UTC) #32
xhwang
jam: Please OWNERS review content/ changes. Thanks!
6 years ago (2014-12-18 22:55:47 UTC) #34
xhwang
rebase only
5 years, 11 months ago (2015-01-02 19:38:53 UTC) #35
xhwang
On 2015/01/02 19:38:53, xhwang wrote: > rebase only jam: kindly ping...
5 years, 11 months ago (2015-01-05 18:19:48 UTC) #36
xhwang
It seems jam@ isn't available. creis: Could you please OWNERS review changes in content/ (excluding ...
5 years, 11 months ago (2015-01-08 17:53:26 UTC) #38
Charlie Reis
[+darin] Hmm, I probably don't have the context here, but the overall direction concerns me. ...
5 years, 11 months ago (2015-01-08 20:55:09 UTC) #40
xhwang
On 2015/01/08 20:55:09, Charlie Reis wrote: > [+darin] > > Hmm, I probably don't have ...
5 years, 11 months ago (2015-01-08 21:02:10 UTC) #41
jam
I have similar questions as Charlie, but if this is behind a flag, and is ...
5 years, 11 months ago (2015-01-27 17:00:21 UTC) #42
xhwang
rebase only
5 years, 10 months ago (2015-01-28 05:33:46 UTC) #43
xhwang
On 2015/01/27 17:00:21, jam wrote: > I have similar questions as Charlie, but if this ...
5 years, 10 months ago (2015-01-28 05:37:30 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/712463004/220001
5 years, 10 months ago (2015-01-28 07:53:36 UTC) #46
commit-bot: I haz the power
Committed patchset #11 (id:220001)
5 years, 10 months ago (2015-01-28 08:51:47 UTC) #47
commit-bot: I haz the power
5 years, 10 months ago (2015-01-28 08:52:43 UTC) #48
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/e6117333d61fe759bcecd8e6cab927236ce3da79
Cr-Commit-Position: refs/heads/master@{#313463}

Powered by Google App Engine
This is Rietveld 408576698