| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index d2030c35e017a83ed17e6526dbb2907d173b90c1..7ee528e5d1376daf65ceae41363f5f89e18d3d88 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -1127,6 +1127,8 @@ RenderFrameImpl::RenderFrameImpl(const CreateParams& params)
|
| pepper_last_mouse_event_target_(nullptr),
|
| #endif
|
| frame_binding_(this),
|
| + is_remote_sink_available_(false),
|
| + is_using_remoting_cdm_(false),
|
| weak_factory_(this) {
|
| // We don't have a shell::Connection at this point, so use nullptr.
|
| // TODO(beng): We should fix this, so we can apply policy about which
|
| @@ -2654,6 +2656,7 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
|
| render_thread->compositor_task_runner(), context_3d_cb,
|
| base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory,
|
| base::Unretained(blink::mainThreadIsolate())),
|
| + base::Bind(&RenderFrameImpl::isUsingRemotingCdm, base::Unretained(this)),
|
| initial_cdm, media_surface_manager_, media_session);
|
|
|
| #if defined(OS_ANDROID)
|
| @@ -6156,6 +6159,14 @@ media::CdmFactory* RenderFrameImpl::GetCdmFactory() {
|
| if (cdm_factory_)
|
| return cdm_factory_.get();
|
|
|
| + if (is_remote_sink_available_) {
|
| + VLOG(2) << "Using remoting CdmFactory.";
|
| + is_using_remoting_cdm_ = true;
|
| + // TODO(erickung): Return the CdmFactory for remoting. Possibly pass a
|
| + // callback to the factory to check whether still in mirroring when calling
|
| + // CreateCdm().
|
| + }
|
| +
|
| #if defined(ENABLE_MOJO_CDM)
|
| if (UseMojoCdm()) {
|
| cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider()));
|
|
|