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

Issue 883353012: Pass default renderer factory into CreateMediaRendererFactory (Closed)

Created:
5 years, 10 months ago by servolk
Modified:
5 years, 10 months ago
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, creis+watch_chromium.org, lcwu+watch_chromium.org, nasko+codewatch_chromium.org, jam, darin-cc_chromium.org, mkwst+moarreviews-renderer_chromium.org, gunsch+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Pass default renderer factory into CreateMediaRendererFactory This makes renderer creation more flexible by allowing implementer of CreateMediaRendererFactory to choose which renderer to use - the default one or the custom one. One example where this might be useful is for Chromecast, where we want to choose renderer based on the types of actual input content streams, e.g. we will use CMA media renderer for media types that are supported by it (H264, AAC, etc) and use the default media renderer by media types/codecs not supported by CMA (FLAC, Opus, etc). BUG=457959

Patch Set 1 #

Total comments: 4

Patch Set 2 : Use scoped_ptr implicit upcast #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+18 lines, -12 lines) Patch
M chromecast/renderer/cast_content_renderer_client.h View 1 chunk +2 lines, -1 line 0 comments Download
M chromecast/renderer/cast_content_renderer_client.cc View 1 chunk +2 lines, -1 line 1 comment Download
M content/public/renderer/content_renderer_client.h View 2 chunks +3 lines, -1 line 0 comments Download
M content/public/renderer/content_renderer_client.cc View 1 2 chunks +5 lines, -2 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 chunk +6 lines, -7 lines 0 comments Download

Messages

Total messages: 23 (2 generated)
servolk
5 years, 10 months ago (2015-02-12 01:13:23 UTC) #2
gunsch
can you point to a crbug with any discussion on this? src/chromecast/ code is simple ...
5 years, 10 months ago (2015-02-12 01:19:35 UTC) #3
servolk
On 2015/02/12 01:19:35, gunsch wrote: > can you point to a crbug with any discussion ...
5 years, 10 months ago (2015-02-12 02:20:10 UTC) #4
servolk
https://codereview.chromium.org/883353012/diff/1/content/public/renderer/content_renderer_client.cc File content/public/renderer/content_renderer_client.cc (right): https://codereview.chromium.org/883353012/diff/1/content/public/renderer/content_renderer_client.cc#newcode183 content/public/renderer/content_renderer_client.cc:183: return factory.Pass(); On 2015/02/12 01:19:34, gunsch wrote: > I ...
5 years, 10 months ago (2015-02-12 02:20:26 UTC) #5
gunsch
https://codereview.chromium.org/883353012/diff/1/content/public/renderer/content_renderer_client.cc File content/public/renderer/content_renderer_client.cc (right): https://codereview.chromium.org/883353012/diff/1/content/public/renderer/content_renderer_client.cc#newcode183 content/public/renderer/content_renderer_client.cc:183: return factory.Pass(); On 2015/02/12 02:20:26, servolk wrote: > On ...
5 years, 10 months ago (2015-02-12 03:18:51 UTC) #6
DaleCurtis
Why can't your content client just instantiate the default factory and return that?
5 years, 10 months ago (2015-02-12 19:16:50 UTC) #7
servolk
On 2015/02/12 19:16:50, DaleCurtis wrote: > Why can't your content client just instantiate the default ...
5 years, 10 months ago (2015-02-17 18:48:49 UTC) #8
servolk
https://codereview.chromium.org/883353012/diff/1/content/public/renderer/content_renderer_client.cc File content/public/renderer/content_renderer_client.cc (right): https://codereview.chromium.org/883353012/diff/1/content/public/renderer/content_renderer_client.cc#newcode183 content/public/renderer/content_renderer_client.cc:183: return factory.Pass(); On 2015/02/12 03:18:51, gunsch wrote: > On ...
5 years, 10 months ago (2015-02-17 18:55:05 UTC) #10
DaleCurtis
https://codereview.chromium.org/883353012/diff/20001/chromecast/renderer/cast_content_renderer_client.cc File chromecast/renderer/cast_content_renderer_client.cc (right): https://codereview.chromium.org/883353012/diff/20001/chromecast/renderer/cast_content_renderer_client.cc#newcode149 chromecast/renderer/cast_content_renderer_client.cc:149: return scoped_ptr<::media::RendererFactory>( So in some future world you'll pass ...
5 years, 10 months ago (2015-02-17 19:48:16 UTC) #11
servolk
On 2015/02/17 19:48:16, DaleCurtis wrote: > https://codereview.chromium.org/883353012/diff/20001/chromecast/renderer/cast_content_renderer_client.cc > File chromecast/renderer/cast_content_renderer_client.cc (right): > > https://codereview.chromium.org/883353012/diff/20001/chromecast/renderer/cast_content_renderer_client.cc#newcode149 > ...
5 years, 10 months ago (2015-02-17 20:00:36 UTC) #12
DaleCurtis
Would it make more sense to expose the information you need to create the default ...
5 years, 10 months ago (2015-02-17 20:54:38 UTC) #13
gunsch
On 2015/02/17 20:54:38, DaleCurtis wrote: > Would it make more sense to expose the information ...
5 years, 10 months ago (2015-02-17 20:59:52 UTC) #14
DaleCurtis
Hmm, I hadn't heard of anyone saying you shouldn't depend on media/filters. I think given ...
5 years, 10 months ago (2015-02-17 22:06:10 UTC) #15
servolk
On 2015/02/17 20:54:38, DaleCurtis wrote: > Would it make more sense to expose the information ...
5 years, 10 months ago (2015-02-19 01:00:14 UTC) #16
servolk
On 2015/02/17 20:59:52, gunsch wrote: > On 2015/02/17 20:54:38, DaleCurtis wrote: > > Would it ...
5 years, 10 months ago (2015-02-19 01:04:43 UTC) #17
DaleCurtis
I don't have a problem with using media/filters if it's just to construct a custom ...
5 years, 10 months ago (2015-02-19 01:34:30 UTC) #18
gunsch
On 2015/02/19 01:34:30, DaleCurtis wrote: > I don't have a problem with using media/filters if ...
5 years, 10 months ago (2015-02-19 01:43:08 UTC) #19
DaleCurtis
I think as a general statement, not depending on media/filters probably makes sense; there's a ...
5 years, 10 months ago (2015-02-19 02:23:04 UTC) #20
servolk
On 2015/02/19 02:23:04, DaleCurtis wrote: > I think as a general statement, not depending on ...
5 years, 10 months ago (2015-02-19 04:01:33 UTC) #21
DaleCurtis
Interesting. I assumed you guys wouldn't want any GPU decoders and wouldn't want say the ...
5 years, 10 months ago (2015-02-19 19:39:41 UTC) #22
servolk
5 years, 10 months ago (2015-02-20 01:51:57 UTC) #23
On 2015/02/19 19:39:41, DaleCurtis wrote:
> Interesting. I assumed you guys wouldn't want any GPU decoders and wouldn't
want
> say the libvpx video decoder either. If that's not the case, I agree
> RenderConfig doesn't make any sense for you.
> 
> I don't think we can adapt the renderer factory signature to take a
RenderFrame
> since that's a content/ construct and the default factory lives in media/
> 
> How about the following then:
> - Adapt the content/public interface to pass along a MediaLog (you don't need
> the GpuFactories today, so those can be skipped for the moment).
> - Move all renderers into media/renderers and then allow media/renderers to be
> DEPS'd. You can then create the default factory internal to your code.

Ok, sounds like a plan.
I've created two separate CLs to get things moving:
https://codereview.chromium.org/941633004/
https://codereview.chromium.org/943903002/

Powered by Google App Engine
This is Rietveld 408576698