Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(169)

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 2310753002: Media Remoting: Data/Control plumbing between renderer and Media Router. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/render_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 2615 matching lines...) Expand 10 before | Expand all | Expand 10 after
2626 } 2626 }
2627 #endif // defined(OS_ANDROID) 2627 #endif // defined(OS_ANDROID)
2628 2628
2629 #if defined(ENABLE_MOJO_RENDERER) 2629 #if defined(ENABLE_MOJO_RENDERER)
2630 std::unique_ptr<media::RendererFactory> media_renderer_factory( 2630 std::unique_ptr<media::RendererFactory> media_renderer_factory(
2631 new media::MojoRendererFactory( 2631 new media::MojoRendererFactory(
2632 base::Bind(&RenderThreadImpl::GetGpuFactories, 2632 base::Bind(&RenderThreadImpl::GetGpuFactories,
2633 base::Unretained(render_thread)), 2633 base::Unretained(render_thread)),
2634 GetMediaInterfaceProvider())); 2634 GetMediaInterfaceProvider()));
2635 #else 2635 #else
2636 // TODO(miu): In future change, call GetRemoterFactory()->Create() and pass
2637 // the media::mojom::RemoterPtr to the media::RendererFactory here so that it
2638 // can decide whether to create local media::Renderers or "remoted"
2639 // media::Renderers.
xjz 2016/09/09 17:38:48 This seems different from our current design. But
miu 2016/09/11 00:25:22 Updated and moved this TODO comment.
2636 std::unique_ptr<media::RendererFactory> media_renderer_factory = 2640 std::unique_ptr<media::RendererFactory> media_renderer_factory =
2637 GetContentClient()->renderer()->CreateMediaRendererFactory( 2641 GetContentClient()->renderer()->CreateMediaRendererFactory(
2638 this, render_thread->GetGpuFactories(), media_log); 2642 this, render_thread->GetGpuFactories(), media_log);
2639 2643
2640 if (!media_renderer_factory.get()) { 2644 if (!media_renderer_factory.get()) {
2641 media_renderer_factory.reset(new media::DefaultRendererFactory( 2645 media_renderer_factory.reset(new media::DefaultRendererFactory(
2642 media_log, GetDecoderFactory(), 2646 media_log, GetDecoderFactory(),
2643 base::Bind(&RenderThreadImpl::GetGpuFactories, 2647 base::Bind(&RenderThreadImpl::GetGpuFactories,
2644 base::Unretained(render_thread)))); 2648 base::Unretained(render_thread))));
2645 } 2649 }
(...skipping 3486 matching lines...) Expand 10 before | Expand all | Expand 10 after
6132 bool RenderFrameImpl::AreSecureCodecsSupported() { 6136 bool RenderFrameImpl::AreSecureCodecsSupported() {
6133 #if defined(OS_ANDROID) 6137 #if defined(OS_ANDROID)
6134 // Hardware-secure codecs are only supported if secure surfaces are enabled. 6138 // Hardware-secure codecs are only supported if secure surfaces are enabled.
6135 return render_view_->renderer_preferences_ 6139 return render_view_->renderer_preferences_
6136 .use_video_overlay_for_embedded_encrypted_video; 6140 .use_video_overlay_for_embedded_encrypted_video;
6137 #else 6141 #else
6138 return false; 6142 return false;
6139 #endif // defined(OS_ANDROID) 6143 #endif // defined(OS_ANDROID)
6140 } 6144 }
6141 6145
6146 media::mojom::RemoterFactory* RenderFrameImpl::GetRemoterFactory() {
6147 if (!remoter_factory_)
6148 GetRemoteInterfaces()->GetInterface(&remoter_factory_);
6149 return remoter_factory_.get();
6150 }
6151
6142 media::CdmFactory* RenderFrameImpl::GetCdmFactory() { 6152 media::CdmFactory* RenderFrameImpl::GetCdmFactory() {
6143 if (cdm_factory_) 6153 if (cdm_factory_)
6144 return cdm_factory_.get(); 6154 return cdm_factory_.get();
6145 6155
6146 #if defined(ENABLE_MOJO_CDM) 6156 #if defined(ENABLE_MOJO_CDM)
6147 if (UseMojoCdm()) { 6157 if (UseMojoCdm()) {
6148 cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider())); 6158 cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider()));
6149 return cdm_factory_.get(); 6159 return cdm_factory_.get();
6150 } 6160 }
6151 #endif // defined(ENABLE_MOJO_CDM) 6161 #endif // defined(ENABLE_MOJO_CDM)
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
6340 // event target. Potentially a Pepper plugin will receive the event. 6350 // event target. Potentially a Pepper plugin will receive the event.
6341 // In order to tell whether a plugin gets the last mouse event and which it 6351 // In order to tell whether a plugin gets the last mouse event and which it
6342 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets 6352 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets
6343 // the event, it will notify us via DidReceiveMouseEvent() and set itself as 6353 // the event, it will notify us via DidReceiveMouseEvent() and set itself as
6344 // |pepper_last_mouse_event_target_|. 6354 // |pepper_last_mouse_event_target_|.
6345 pepper_last_mouse_event_target_ = nullptr; 6355 pepper_last_mouse_event_target_ = nullptr;
6346 #endif 6356 #endif
6347 } 6357 }
6348 6358
6349 } // namespace content 6359 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698