OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |