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

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

Issue 2161083004: [DO NOT COMMIT] MediaPlayerRenderer using StreamTextures. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 #include "media/audio/audio_output_device.h" 141 #include "media/audio/audio_output_device.h"
142 #include "media/base/audio_renderer_mixer_input.h" 142 #include "media/base/audio_renderer_mixer_input.h"
143 #include "media/base/cdm_factory.h" 143 #include "media/base/cdm_factory.h"
144 #include "media/base/decoder_factory.h" 144 #include "media/base/decoder_factory.h"
145 #include "media/base/media.h" 145 #include "media/base/media.h"
146 #include "media/base/media_log.h" 146 #include "media/base/media_log.h"
147 #include "media/base/media_switches.h" 147 #include "media/base/media_switches.h"
148 #include "media/blink/url_index.h" 148 #include "media/blink/url_index.h"
149 #include "media/blink/webencryptedmediaclient_impl.h" 149 #include "media/blink/webencryptedmediaclient_impl.h"
150 #include "media/blink/webmediaplayer_impl.h" 150 #include "media/blink/webmediaplayer_impl.h"
151 #include "media/media_features.h"
151 #include "media/renderers/gpu_video_accelerator_factories.h" 152 #include "media/renderers/gpu_video_accelerator_factories.h"
152 #include "mojo/edk/js/core.h" 153 #include "mojo/edk/js/core.h"
153 #include "mojo/edk/js/support.h" 154 #include "mojo/edk/js/support.h"
154 #include "net/base/data_url.h" 155 #include "net/base/data_url.h"
155 #include "net/base/net_errors.h" 156 #include "net/base/net_errors.h"
156 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" 157 #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
157 #include "net/http/http_util.h" 158 #include "net/http/http_util.h"
158 #include "services/shell/public/cpp/interface_provider.h" 159 #include "services/shell/public/cpp/interface_provider.h"
159 #include "services/shell/public/cpp/interface_registry.h" 160 #include "services/shell/public/cpp/interface_registry.h"
160 #include "storage/common/data_element.h" 161 #include "storage/common/data_element.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 #include "content/renderer/media/android/renderer_media_player_manager.h" 221 #include "content/renderer/media/android/renderer_media_player_manager.h"
221 #include "content/renderer/media/android/renderer_media_session_manager.h" 222 #include "content/renderer/media/android/renderer_media_session_manager.h"
222 #include "content/renderer/media/android/renderer_surface_view_manager.h" 223 #include "content/renderer/media/android/renderer_surface_view_manager.h"
223 #include "content/renderer/media/android/stream_texture_factory.h" 224 #include "content/renderer/media/android/stream_texture_factory.h"
224 #include "content/renderer/media/android/webmediaplayer_android.h" 225 #include "content/renderer/media/android/webmediaplayer_android.h"
225 #include "content/renderer/media/android/webmediasession_android.h" 226 #include "content/renderer/media/android/webmediasession_android.h"
226 #include "media/base/android/media_codec_util.h" 227 #include "media/base/android/media_codec_util.h"
227 #include "third_party/WebKit/public/platform/WebFloatPoint.h" 228 #include "third_party/WebKit/public/platform/WebFloatPoint.h"
228 #endif 229 #endif
229 230
231 #if BUILDFLAG(FORCE_MOJO_MEDIA_PLAYER_RENDERER)
232 #include "media/base/android/media_player_renderer_factory.h"
233 #endif
234
230 #if defined(ENABLE_PEPPER_CDMS) 235 #if defined(ENABLE_PEPPER_CDMS)
231 #include "content/renderer/media/cdm/pepper_cdm_wrapper_impl.h" 236 #include "content/renderer/media/cdm/pepper_cdm_wrapper_impl.h"
232 #include "content/renderer/media/cdm/render_cdm_factory.h" 237 #include "content/renderer/media/cdm/render_cdm_factory.h"
233 #elif defined(ENABLE_BROWSER_CDMS) 238 #elif defined(ENABLE_BROWSER_CDMS)
234 #include "content/renderer/media/cdm/render_cdm_factory.h" 239 #include "content/renderer/media/cdm/render_cdm_factory.h"
235 #include "content/renderer/media/cdm/renderer_cdm_manager.h" 240 #include "content/renderer/media/cdm/renderer_cdm_manager.h"
236 #endif 241 #endif
237 242
238 #if defined(ENABLE_MOJO_MEDIA) 243 #if defined(ENABLE_MOJO_MEDIA)
239 #include "content/renderer/media/media_interface_provider.h" 244 #include "content/renderer/media/media_interface_provider.h"
(...skipping 2397 matching lines...) Expand 10 before | Expand all | Expand 10 after
2637 base::Unretained(GetContentClient()->renderer()), 2642 base::Unretained(GetContentClient()->renderer()),
2638 static_cast<RenderFrame*>(this), 2643 static_cast<RenderFrame*>(this),
2639 GetWebMediaPlayerDelegate()->has_played_media()), 2644 GetWebMediaPlayerDelegate()->has_played_media()),
2640 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(), 2645 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(),
2641 render_thread->GetWorkerTaskRunner(), 2646 render_thread->GetWorkerTaskRunner(),
2642 render_thread->compositor_task_runner(), context_3d_cb, 2647 render_thread->compositor_task_runner(), context_3d_cb,
2643 base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory, 2648 base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory,
2644 base::Unretained(blink::mainThreadIsolate())), 2649 base::Unretained(blink::mainThreadIsolate())),
2645 initial_cdm, media_surface_manager_, media_session); 2650 initial_cdm, media_surface_manager_, media_session);
2646 2651
2647 #if defined(OS_ANDROID) 2652 #if defined(OS_ANDROID) && !BUILDFLAG(FORCE_MOJO_MEDIA_PLAYER_RENDERER)
2648 if (!UseWebMediaPlayerImpl(url)) { 2653 if (!UseWebMediaPlayerImpl(url)) {
2649 return CreateAndroidWebMediaPlayer(client, encrypted_client, params); 2654 return CreateAndroidWebMediaPlayer(client, encrypted_client, params);
2650 } 2655 }
2651 #endif // defined(OS_ANDROID) 2656 #endif // defined(OS_ANDROID)
2652 2657
2653 #if defined(ENABLE_MOJO_RENDERER) 2658 #if BUILDFLAG(FORCE_MOJO_MEDIA_PLAYER_RENDERER)
2659 scoped_refptr<StreamTextureFactory> stream_texture_factory =
2660 RenderThreadImpl::current()->GetStreamTexureFactory();
2661 std::unique_ptr<media::RendererFactory> media_renderer_factory(
2662 new media::MediaPlayerRendererFactory(
2663 stream_texture_factory, base::ThreadTaskRunnerHandle::Get(),
2664 base::Bind(&RenderThreadImpl::GetGpuFactories,
2665 base::Unretained(render_thread)),
2666 base::Bind(&RenderFrameImpl::GetInterface<media::mojom::Renderer>,
2667 base::Unretained(this))));
2668 #elif defined(ENABLE_MOJO_RENDERER)
2654 std::unique_ptr<media::RendererFactory> media_renderer_factory( 2669 std::unique_ptr<media::RendererFactory> media_renderer_factory(
2655 new media::MojoRendererFactory( 2670 new media::MojoRendererFactory(
2656 base::Bind(&RenderThreadImpl::GetGpuFactories, 2671 base::Bind(&RenderThreadImpl::GetGpuFactories,
2657 base::Unretained(render_thread)), 2672 base::Unretained(render_thread)),
2658 GetMediaInterfaceProvider())); 2673 GetMediaInterfaceProvider()));
2659 #else 2674 #else
2660 std::unique_ptr<media::RendererFactory> media_renderer_factory = 2675 std::unique_ptr<media::RendererFactory> media_renderer_factory =
2661 GetContentClient()->renderer()->CreateMediaRendererFactory( 2676 GetContentClient()->renderer()->CreateMediaRendererFactory(
2662 this, render_thread->GetGpuFactories(), media_log); 2677 this, render_thread->GetGpuFactories(), media_log);
2663 2678
(...skipping 10 matching lines...) Expand all
2674 2689
2675 media::WebMediaPlayerImpl* media_player = new media::WebMediaPlayerImpl( 2690 media::WebMediaPlayerImpl* media_player = new media::WebMediaPlayerImpl(
2676 frame_, client, encrypted_client, 2691 frame_, client, encrypted_client,
2677 GetWebMediaPlayerDelegate()->AsWeakPtr(), 2692 GetWebMediaPlayerDelegate()->AsWeakPtr(),
2678 std::move(media_renderer_factory), url_index_, params); 2693 std::move(media_renderer_factory), url_index_, params);
2679 2694
2680 #if defined(OS_ANDROID) // WMPI_CAST 2695 #if defined(OS_ANDROID) // WMPI_CAST
2681 media_player->SetMediaPlayerManager(GetMediaPlayerManager()); 2696 media_player->SetMediaPlayerManager(GetMediaPlayerManager());
2682 media_player->SetDeviceScaleFactor(render_view_->GetDeviceScaleFactor()); 2697 media_player->SetDeviceScaleFactor(render_view_->GetDeviceScaleFactor());
2683 #endif 2698 #endif
2699 #if BUILDFLAG(FORCE_MOJO_MEDIA_PLAYER_RENDERER)
2700 media_player->EnableFallbackMediaPlayer(GURL(url));
2701 #endif
2684 2702
2685 return media_player; 2703 return media_player;
2686 } 2704 }
2687 2705
2688 blink::WebMediaSession* RenderFrameImpl::createMediaSession() { 2706 blink::WebMediaSession* RenderFrameImpl::createMediaSession() {
2689 #if defined(OS_ANDROID) 2707 #if defined(OS_ANDROID)
2690 return new WebMediaSessionAndroid(GetMediaSessionManager()); 2708 return new WebMediaSessionAndroid(GetMediaSessionManager());
2691 #else 2709 #else
2692 return nullptr; 2710 return nullptr;
2693 #endif // defined(OS_ANDROID) 2711 #endif // defined(OS_ANDROID)
(...skipping 3642 matching lines...) Expand 10 before | Expand all | Expand 10 after
6336 // event target. Potentially a Pepper plugin will receive the event. 6354 // event target. Potentially a Pepper plugin will receive the event.
6337 // In order to tell whether a plugin gets the last mouse event and which it 6355 // In order to tell whether a plugin gets the last mouse event and which it
6338 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets 6356 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets
6339 // the event, it will notify us via DidReceiveMouseEvent() and set itself as 6357 // the event, it will notify us via DidReceiveMouseEvent() and set itself as
6340 // |pepper_last_mouse_event_target_|. 6358 // |pepper_last_mouse_event_target_|.
6341 pepper_last_mouse_event_target_ = nullptr; 6359 pepper_last_mouse_event_target_ = nullptr;
6342 #endif 6360 #endif
6343 } 6361 }
6344 6362
6345 } // namespace content 6363 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698