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

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

Issue 10960039: Adding the implementation of the StreamTextureFactoryImpl for android (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: using shared context from webkit Created 8 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_view_impl.h" 5 #include "content/renderer/render_view_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 2480 matching lines...) Expand 10 before | Expand all | Expand 10 after
2491 } 2491 }
2492 } 2492 }
2493 2493
2494 WebMediaPlayer* RenderViewImpl::createMediaPlayer( 2494 WebMediaPlayer* RenderViewImpl::createMediaPlayer(
2495 WebFrame* frame, const WebKit::WebURL& url, WebMediaPlayerClient* client) { 2495 WebFrame* frame, const WebKit::WebURL& url, WebMediaPlayerClient* client) {
2496 FOR_EACH_OBSERVER( 2496 FOR_EACH_OBSERVER(
2497 RenderViewObserver, observers_, WillCreateMediaPlayer(frame, client)); 2497 RenderViewObserver, observers_, WillCreateMediaPlayer(frame, client));
2498 2498
2499 const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); 2499 const CommandLine* cmd_line = CommandLine::ForCurrentProcess();
2500 #if defined(OS_ANDROID) 2500 #if defined(OS_ANDROID)
2501 // TODO(qinmin): upstream the implementation of getting WebGraphicsContext3D 2501 WebGraphicsContext3D* resource_context =
2502 // and GpuChannelHost here to replace the NULL params. 2502 GetWebView()->sharedGraphicsContext3D();
2503
2504 GpuChannelHost* gpu_channel_host =
2505 RenderThreadImpl::current()->EstablishGpuChannelSync(
2506 content::CAUSE_FOR_GPU_LAUNCH_VIDEODECODEACCELERATOR_INITIALIZE);
2507 if (!gpu_channel_host) {
2508 LOG(ERROR) << "Failed to establish GPU channel for media player";
2509 return NULL;
2510 }
2511
2503 if (cmd_line->HasSwitch(switches::kMediaPlayerInRenderProcess)) { 2512 if (cmd_line->HasSwitch(switches::kMediaPlayerInRenderProcess)) {
2504 if (!media_bridge_manager_.get()) { 2513 if (!media_bridge_manager_.get()) {
2505 media_bridge_manager_.reset( 2514 media_bridge_manager_.reset(
2506 new webkit_media::MediaPlayerBridgeManagerImpl(1)); 2515 new webkit_media::MediaPlayerBridgeManagerImpl(1));
2507 } 2516 }
2508 return new webkit_media::WebMediaPlayerInProcessAndroid( 2517 return new webkit_media::WebMediaPlayerInProcessAndroid(
2509 frame, 2518 frame,
2510 client, 2519 client,
2511 cookieJar(frame), 2520 cookieJar(frame),
2512 media_player_manager_.get(), 2521 media_player_manager_.get(),
2513 media_bridge_manager_.get(), 2522 media_bridge_manager_.get(),
2514 new content::StreamTextureFactoryImpl( 2523 new content::StreamTextureFactoryImpl(
2515 NULL, NULL, routing_id_), 2524 resource_context, gpu_channel_host, routing_id_),
2516 cmd_line->HasSwitch(switches::kDisableMediaHistoryLogging)); 2525 cmd_line->HasSwitch(switches::kDisableMediaHistoryLogging));
2517 } 2526 }
2518 if (!media_player_proxy_) { 2527 if (!media_player_proxy_) {
2519 media_player_proxy_ = new content::WebMediaPlayerProxyImplAndroid( 2528 media_player_proxy_ = new content::WebMediaPlayerProxyImplAndroid(
2520 this, media_player_manager_.get()); 2529 this, media_player_manager_.get());
2521 } 2530 }
2522 return new webkit_media::WebMediaPlayerImplAndroid( 2531 return new webkit_media::WebMediaPlayerImplAndroid(
2523 frame, 2532 frame,
2524 client, 2533 client,
2525 media_player_manager_.get(), 2534 media_player_manager_.get(),
2526 media_player_proxy_, 2535 media_player_proxy_,
2527 new content::StreamTextureFactoryImpl( 2536 new content::StreamTextureFactoryImpl(
2528 NULL, NULL, routing_id_)); 2537 resource_context, gpu_channel_host, routing_id_));
2529 #endif 2538 #endif
2530 2539
2531 media::MessageLoopFactory* message_loop_factory = 2540 media::MessageLoopFactory* message_loop_factory =
2532 new media::MessageLoopFactory(); 2541 new media::MessageLoopFactory();
2533 media::FilterCollection* collection = new media::FilterCollection(); 2542 media::FilterCollection* collection = new media::FilterCollection();
2534 RenderMediaLog* render_media_log = new RenderMediaLog(); 2543 RenderMediaLog* render_media_log = new RenderMediaLog();
2535 2544
2536 RenderAudioSourceProvider* audio_source_provider = NULL; 2545 RenderAudioSourceProvider* audio_source_provider = NULL;
2537 2546
2538 // Add in any custom filter factories first. 2547 // Add in any custom filter factories first.
(...skipping 3700 matching lines...) Expand 10 before | Expand all | Expand 10 after
6239 6248
6240 updating_frame_tree_ = true; 6249 updating_frame_tree_ = true;
6241 active_frame_id_map_.clear(); 6250 active_frame_id_map_.clear();
6242 6251
6243 target_process_id_ = process_id; 6252 target_process_id_ = process_id;
6244 target_routing_id_ = route_id; 6253 target_routing_id_ = route_id;
6245 CreateFrameTree(webview()->mainFrame(), frames); 6254 CreateFrameTree(webview()->mainFrame(), frames);
6246 6255
6247 updating_frame_tree_ = false; 6256 updating_frame_tree_ = false;
6248 } 6257 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698