Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index d976201891d373de08a3e45d63fdf659d8f7f864..a117beebd05bdd328ea4b8697a1a12d247ac8785 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -2927,38 +2927,34 @@ blink::WebMediaPlayer* RenderFrameImpl::CreateMediaPlayer( |
factory_selector->SetUseMediaPlayer(UseMediaPlayerRenderer(url)); |
#endif // defined(OS_ANDROID) |
- std::unique_ptr<media::RendererFactory> media_renderer_factory; |
- media::RendererFactorySelector::FactoryType factory_type; |
- |
+ 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, 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, 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* const remoting_controller_ptr = remoting_controller.get(); |
@@ -2980,9 +2976,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); |
- |
media::WebMediaPlayerImpl* media_player = new media::WebMediaPlayerImpl( |
frame_, client, encrypted_client, GetWebMediaPlayerDelegate(), |
std::move(factory_selector), url_index_, params); |