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

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

Issue 445013002: media: Optimize HW Video to 2D Canvas copy. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rollback android code Created 6 years 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 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 145
146 #if defined(OS_ANDROID) 146 #if defined(OS_ANDROID)
147 #include <cpu-features.h> 147 #include <cpu-features.h>
148 148
149 #include "content/common/gpu/client/context_provider_command_buffer.h" 149 #include "content/common/gpu/client/context_provider_command_buffer.h"
150 #include "content/renderer/android/synchronous_compositor_factory.h" 150 #include "content/renderer/android/synchronous_compositor_factory.h"
151 #include "content/renderer/java/gin_java_bridge_dispatcher.h" 151 #include "content/renderer/java/gin_java_bridge_dispatcher.h"
152 #include "content/renderer/media/android/renderer_media_player_manager.h" 152 #include "content/renderer/media/android/renderer_media_player_manager.h"
153 #include "content/renderer/media/android/stream_texture_factory_impl.h" 153 #include "content/renderer/media/android/stream_texture_factory_impl.h"
154 #include "content/renderer/media/android/webmediaplayer_android.h" 154 #include "content/renderer/media/android/webmediaplayer_android.h"
155 #else
156 #include "webkit/common/gpu/context_provider_web_context.h"
155 #endif 157 #endif
156 158
157 #if defined(ENABLE_PEPPER_CDMS) 159 #if defined(ENABLE_PEPPER_CDMS)
158 #include "content/renderer/media/crypto/pepper_cdm_wrapper_impl.h" 160 #include "content/renderer/media/crypto/pepper_cdm_wrapper_impl.h"
159 #elif defined(ENABLE_BROWSER_CDMS) 161 #elif defined(ENABLE_BROWSER_CDMS)
160 #include "content/renderer/media/crypto/renderer_cdm_manager.h" 162 #include "content/renderer/media/crypto/renderer_cdm_manager.h"
161 #endif 163 #endif
162 164
163 using blink::WebContextMenuData; 165 using blink::WebContextMenuData;
164 using blink::WebData; 166 using blink::WebData;
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 extra_data = &kEmptyData; 468 extra_data = &kEmptyData;
467 CommonNavigationParams params; 469 CommonNavigationParams params;
468 params.url = request->url(); 470 params.url = request->url();
469 params.referrer = Referrer( 471 params.referrer = Referrer(
470 GURL(request->httpHeaderField(WebString::fromUTF8("Referer")).latin1()), 472 GURL(request->httpHeaderField(WebString::fromUTF8("Referer")).latin1()),
471 request->referrerPolicy()); 473 request->referrerPolicy());
472 params.transition = extra_data->transition_type(); 474 params.transition = extra_data->transition_type();
473 return params; 475 return params;
474 } 476 }
475 477
478 #if !defined(OS_ANDROID)
479 media::Context3D GetSharedMainThreadContext3D() {
480 cc::ContextProvider* provider =
481 RenderThreadImpl::current()->SharedMainThreadContextProvider().get();
482 if (!provider)
483 return media::Context3D();
484 return media::Context3D(provider->ContextGL(), provider->GrContext());
485 }
486 #endif
487
476 RenderFrameImpl::CreateRenderFrameImplFunction g_create_render_frame_impl = 488 RenderFrameImpl::CreateRenderFrameImplFunction g_create_render_frame_impl =
477 nullptr; 489 nullptr;
478 490
479 } // namespace 491 } // namespace
480 492
481 493
482 // static 494 // static
483 RenderFrameImpl* RenderFrameImpl::Create(RenderViewImpl* render_view, 495 RenderFrameImpl* RenderFrameImpl::Create(RenderViewImpl* render_view,
484 int32 routing_id) { 496 int32 routing_id) {
485 DCHECK(routing_id != MSG_ROUTING_NONE); 497 DCHECK(routing_id != MSG_ROUTING_NONE);
(...skipping 1298 matching lines...) Expand 10 before | Expand all | Expand 10 after
1784 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog()); 1796 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog());
1785 1797
1786 RenderThreadImpl* render_thread = RenderThreadImpl::current(); 1798 RenderThreadImpl* render_thread = RenderThreadImpl::current();
1787 media::WebMediaPlayerParams params( 1799 media::WebMediaPlayerParams params(
1788 base::Bind(&ContentRendererClient::DeferMediaLoad, 1800 base::Bind(&ContentRendererClient::DeferMediaLoad,
1789 base::Unretained(GetContentClient()->renderer()), 1801 base::Unretained(GetContentClient()->renderer()),
1790 static_cast<RenderFrame*>(this)), 1802 static_cast<RenderFrame*>(this)),
1791 render_thread->GetAudioRendererMixerManager()->CreateInput( 1803 render_thread->GetAudioRendererMixerManager()->CreateInput(
1792 render_view_->routing_id_, routing_id_), 1804 render_view_->routing_id_, routing_id_),
1793 media_log, render_thread->GetMediaThreadTaskRunner(), 1805 media_log, render_thread->GetMediaThreadTaskRunner(),
1794 render_thread->compositor_message_loop_proxy(), initial_cdm); 1806 render_thread->compositor_message_loop_proxy(),
1807 base::Bind(&GetSharedMainThreadContext3D), initial_cdm);
1795 1808
1796 #if defined(ENABLE_PEPPER_CDMS) 1809 #if defined(ENABLE_PEPPER_CDMS)
1797 scoped_ptr<media::CdmFactory> cdm_factory( 1810 scoped_ptr<media::CdmFactory> cdm_factory(
1798 new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame))); 1811 new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame)));
1799 #elif defined(ENABLE_BROWSER_CDMS) 1812 #elif defined(ENABLE_BROWSER_CDMS)
1800 scoped_ptr<media::CdmFactory> cdm_factory( 1813 scoped_ptr<media::CdmFactory> cdm_factory(
1801 new RenderCdmFactory(GetCdmManager())); 1814 new RenderCdmFactory(GetCdmManager()));
1802 #else 1815 #else
1803 scoped_ptr<media::CdmFactory> cdm_factory(new RenderCdmFactory()); 1816 scoped_ptr<media::CdmFactory> cdm_factory(new RenderCdmFactory());
1804 #endif 1817 #endif
(...skipping 2469 matching lines...) Expand 10 before | Expand all | Expand 10 after
4274 4287
4275 #if defined(ENABLE_BROWSER_CDMS) 4288 #if defined(ENABLE_BROWSER_CDMS)
4276 RendererCdmManager* RenderFrameImpl::GetCdmManager() { 4289 RendererCdmManager* RenderFrameImpl::GetCdmManager() {
4277 if (!cdm_manager_) 4290 if (!cdm_manager_)
4278 cdm_manager_ = new RendererCdmManager(this); 4291 cdm_manager_ = new RendererCdmManager(this);
4279 return cdm_manager_; 4292 return cdm_manager_;
4280 } 4293 }
4281 #endif // defined(ENABLE_BROWSER_CDMS) 4294 #endif // defined(ENABLE_BROWSER_CDMS)
4282 4295
4283 } // namespace content 4296 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698