Chromium Code Reviews| Index: content/renderer/render_frame_impl.cc |
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
| index 43059a4887a9488fb003f26acd034ec38a82c3bf..b2776f868c348e1cc78cc7927cb35893f3be2df6 100644 |
| --- a/content/renderer/render_frame_impl.cc |
| +++ b/content/renderer/render_frame_impl.cc |
| @@ -2918,43 +2918,34 @@ blink::WebMediaPlayer* RenderFrameImpl::CreateMediaPlayer( |
| factory_selector->SetUseMediaPlayer(UseMediaPlayerRenderer(url)); |
| #endif // defined(OS_ANDROID) |
| - // |factory_type| will be overwritten in all possible path below, and the |
| - // DEFAULT value is not accurate. However, this prevents the compiler from |
| - // issuing a -Wsometimes-uninitialized warning. |
| - // TODO(tguilbert): Remove |factory_type|, and clean up the logic. The work is |
| - // already completed and incrementally being submitted. See crbug.com/663503. |
| - auto factory_type = media::RendererFactorySelector::FactoryType::DEFAULT; |
| - std::unique_ptr<media::RendererFactory> media_renderer_factory; |
| - |
| + bool use_mojo_renderer_factory = false; |
| #if defined(ENABLE_MOJO_RENDERER) |
| #if BUILDFLAG(ENABLE_RUNTIME_MEDIA_RENDERER_SELECTION) |
| - if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| - switches::kDisableMojoRenderer)) { |
| - media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( |
| - media_log.get(), GetDecoderFactory(), |
| - base::Bind(&RenderThreadImpl::GetGpuFactories, |
| - base::Unretained(render_thread))); |
| - |
| - factory_type = media::RendererFactorySelector::FactoryType::DEFAULT; |
| - } |
| + use_mojo_renderer_factory = |
| + !base::CommandLine::ForCurrentProcess()->HasSwitch( |
| + switches::kDisableMojoRenderer); |
| +#else |
| + use_mojo_renderer_factory = true; |
| #endif // BUILDFLAG(ENABLE_RUNTIME_MEDIA_RENDERER_SELECTION) |
| - if (!media_renderer_factory) { |
| - media_renderer_factory = base::MakeUnique<media::MojoRendererFactory>( |
| - base::Bind(&RenderThreadImpl::GetGpuFactories, |
| - base::Unretained(render_thread)), |
| - GetMediaInterfaceProvider()); |
| - |
| - factory_type = media::RendererFactorySelector::FactoryType::MOJO; |
| + if (use_mojo_renderer_factory) { |
| + factory_selector->AddFactory( |
| + media::RendererFactorySelector::FactoryType::MOJO, |
| + base::MakeUnique<media::MojoRendererFactory>( |
| + base::Bind(&RenderThreadImpl::GetGpuFactories, |
| + base::Unretained(render_thread)), |
| + GetMediaInterfaceProvider())); |
| } |
| -#else |
| - media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( |
| - media_log.get(), GetDecoderFactory(), |
| - base::Bind(&RenderThreadImpl::GetGpuFactories, |
| - base::Unretained(render_thread))); |
| - |
| - factory_type = media::RendererFactorySelector::FactoryType::DEFAULT; |
| #endif // defined(ENABLE_MOJO_RENDERER) |
| + if (!use_mojo_renderer_factory) { |
| + factory_selector->AddFactory( |
| + media::RendererFactorySelector::FactoryType::DEFAULT, |
| + base::MakeUnique<media::DefaultRendererFactory>( |
| + media_log, GetDecoderFactory(), |
| + base::Bind(&RenderThreadImpl::GetGpuFactories, |
| + base::Unretained(render_thread)))); |
| + } |
| + |
| #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
| auto courier_factory = |
| base::MakeUnique<media::remoting::CourierRendererFactory>( |
| @@ -2974,9 +2965,6 @@ blink::WebMediaPlayer* RenderFrameImpl::CreateMediaPlayer( |
| if (!url_index_.get() || url_index_->frame() != frame_) |
| url_index_.reset(new media::UrlIndex(frame_)); |
| - factory_selector->AddFactory(factory_type, std::move(media_renderer_factory)); |
| - factory_selector->SetBaseFactoryType(factory_type); |
|
ncarter (slow)
2017/05/03 23:25:32
Is it no longer necessary to call SetBaseFactoryTy
tguilbert
2017/05/03 23:29:05
It is! Thank you for catching this!
|
| - |
| std::unique_ptr<media::WebMediaPlayerParams> params( |
| new media::WebMediaPlayerParams( |
| std::move(media_log), |