| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index de2f118f34e72e2b833dba31aedd6962c6651302..3be4d3b72a38e3e0ad5b62da9fa20b454b5ebe17 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -2773,13 +2773,13 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
|
| media_surface_manager_ = new RendererSurfaceViewManager(this);
|
| #endif // defined(OS_ANDROID)
|
|
|
| + base::WeakPtr<media::MediaObserver> media_observer;
|
| #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
|
| - std::unique_ptr<media::RemotingController> remoting_controller =
|
| - CreateRemotingController();
|
| - base::WeakPtr<media::MediaObserver> media_observer =
|
| - remoting_controller->GetWeakPtr();
|
| -#else
|
| - base::WeakPtr<media::MediaObserver> media_observer = nullptr;
|
| + std::unique_ptr<media::RemotingController> remoting_controller;
|
| + if (base::FeatureList::IsEnabled(media::kMediaRemoting)) {
|
| + remoting_controller = CreateRemotingController();
|
| + media_observer = remoting_controller->GetWeakPtr();
|
| + }
|
| #endif
|
|
|
| media::WebMediaPlayerParams params(
|
| @@ -2835,8 +2835,10 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
|
| #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
|
| media::RemotingController* remoting_controller_ptr =
|
| remoting_controller.get();
|
| - media_renderer_factory = base::MakeUnique<media::RemotingRendererFactory>(
|
| - std::move(media_renderer_factory), std::move(remoting_controller));
|
| + if (remoting_controller) {
|
| + media_renderer_factory = base::MakeUnique<media::RemotingRendererFactory>(
|
| + std::move(media_renderer_factory), std::move(remoting_controller));
|
| + }
|
| #endif
|
|
|
| if (!url_index_.get() || url_index_->frame() != frame_)
|
| @@ -2854,8 +2856,11 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
|
| #endif // defined(OS_ANDROID)
|
|
|
| #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
|
| - remoting_controller_ptr->SetSwitchRendererCallback(base::Bind(
|
| - &media::WebMediaPlayerImpl::ScheduleRestart, media_player->AsWeakPtr()));
|
| + if (remoting_controller_ptr) {
|
| + remoting_controller_ptr->SetSwitchRendererCallback(
|
| + base::Bind(&media::WebMediaPlayerImpl::ScheduleRestart,
|
| + media_player->AsWeakPtr()));
|
| + }
|
| #endif
|
| return media_player;
|
| }
|
|
|