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), |