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