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