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 | 9 |
10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 #include "content/renderer/render_view_impl.h" | 87 #include "content/renderer/render_view_impl.h" |
88 #include "content/renderer/render_widget_fullscreen_pepper.h" | 88 #include "content/renderer/render_widget_fullscreen_pepper.h" |
89 #include "content/renderer/renderer_webapplicationcachehost_impl.h" | 89 #include "content/renderer/renderer_webapplicationcachehost_impl.h" |
90 #include "content/renderer/renderer_webcolorchooser_impl.h" | 90 #include "content/renderer/renderer_webcolorchooser_impl.h" |
91 #include "content/renderer/screen_orientation/screen_orientation_dispatcher.h" | 91 #include "content/renderer/screen_orientation/screen_orientation_dispatcher.h" |
92 #include "content/renderer/shared_worker_repository.h" | 92 #include "content/renderer/shared_worker_repository.h" |
93 #include "content/renderer/v8_value_converter_impl.h" | 93 #include "content/renderer/v8_value_converter_impl.h" |
94 #include "content/renderer/websharedworker_proxy.h" | 94 #include "content/renderer/websharedworker_proxy.h" |
95 #include "gin/modules/module_registry.h" | 95 #include "gin/modules/module_registry.h" |
96 #include "media/base/audio_renderer_mixer_input.h" | 96 #include "media/base/audio_renderer_mixer_input.h" |
97 #include "media/base/renderer.h" | 97 #include "media/base/media_log.h" |
98 #include "media/blink/encrypted_media_player_support.h" | |
99 #include "media/blink/webcontentdecryptionmodule_impl.h" | 98 #include "media/blink/webcontentdecryptionmodule_impl.h" |
100 #include "media/blink/webmediaplayer_impl.h" | 99 #include "media/blink/webmediaplayer_impl.h" |
101 #include "media/blink/webmediaplayer_params.h" | 100 #include "media/blink/webmediaplayer_params.h" |
| 101 #include "media/filters/default_renderer_factory.h" |
102 #include "media/filters/gpu_video_accelerator_factories.h" | 102 #include "media/filters/gpu_video_accelerator_factories.h" |
103 #include "mojo/edk/js/core.h" | 103 #include "mojo/edk/js/core.h" |
104 #include "mojo/edk/js/support.h" | 104 #include "mojo/edk/js/support.h" |
105 #include "net/base/data_url.h" | 105 #include "net/base/data_url.h" |
106 #include "net/base/net_errors.h" | 106 #include "net/base/net_errors.h" |
107 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 107 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
108 #include "net/http/http_util.h" | 108 #include "net/http/http_util.h" |
109 #include "third_party/WebKit/public/platform/WebStorageQuotaCallbacks.h" | 109 #include "third_party/WebKit/public/platform/WebStorageQuotaCallbacks.h" |
110 #include "third_party/WebKit/public/platform/WebString.h" | 110 #include "third_party/WebKit/public/platform/WebString.h" |
111 #include "third_party/WebKit/public/platform/WebURL.h" | 111 #include "third_party/WebKit/public/platform/WebURL.h" |
(...skipping 1642 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1754 #endif // defined(VIDEO_HOLE) | 1754 #endif // defined(VIDEO_HOLE) |
1755 | 1755 |
1756 blink::WebMediaStream web_stream( | 1756 blink::WebMediaStream web_stream( |
1757 blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url)); | 1757 blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url)); |
1758 if (!web_stream.isNull()) | 1758 if (!web_stream.isNull()) |
1759 return CreateWebMediaPlayerForMediaStream(url, client); | 1759 return CreateWebMediaPlayerForMediaStream(url, client); |
1760 | 1760 |
1761 #if defined(OS_ANDROID) | 1761 #if defined(OS_ANDROID) |
1762 return CreateAndroidWebMediaPlayer(url, client, initial_cdm); | 1762 return CreateAndroidWebMediaPlayer(url, client, initial_cdm); |
1763 #else | 1763 #else |
| 1764 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog()); |
| 1765 |
1764 RenderThreadImpl* render_thread = RenderThreadImpl::current(); | 1766 RenderThreadImpl* render_thread = RenderThreadImpl::current(); |
1765 media::WebMediaPlayerParams params( | 1767 media::WebMediaPlayerParams params( |
1766 base::Bind(&ContentRendererClient::DeferMediaLoad, | 1768 base::Bind(&ContentRendererClient::DeferMediaLoad, |
1767 base::Unretained(GetContentClient()->renderer()), | 1769 base::Unretained(GetContentClient()->renderer()), |
1768 static_cast<RenderFrame*>(this)), | 1770 static_cast<RenderFrame*>(this)), |
1769 render_thread->GetAudioRendererMixerManager()->CreateInput( | 1771 render_thread->GetAudioRendererMixerManager()->CreateInput( |
1770 render_view_->routing_id_, routing_id_), | 1772 render_view_->routing_id_, routing_id_), |
1771 *render_thread->GetAudioHardwareConfig(), | 1773 media_log, render_thread->GetMediaThreadTaskRunner(), |
1772 new RenderMediaLog(), | 1774 render_thread->compositor_message_loop_proxy(), initial_cdm); |
1773 render_thread->GetGpuFactories(), | |
1774 render_thread->GetMediaThreadTaskRunner(), | |
1775 render_thread->compositor_message_loop_proxy(), | |
1776 initial_cdm); | |
1777 | 1775 |
1778 #if defined(ENABLE_PEPPER_CDMS) | 1776 #if defined(ENABLE_PEPPER_CDMS) |
1779 scoped_ptr<media::CdmFactory> cdm_factory( | 1777 scoped_ptr<media::CdmFactory> cdm_factory( |
1780 new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame))); | 1778 new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame))); |
1781 #else | 1779 #else |
1782 scoped_ptr<media::CdmFactory> cdm_factory(new RenderCdmFactory()); | 1780 scoped_ptr<media::CdmFactory> cdm_factory(new RenderCdmFactory()); |
1783 #endif | 1781 #endif |
1784 | 1782 |
1785 scoped_ptr<media::Renderer> media_renderer = | 1783 scoped_ptr<media::RendererFactory> media_renderer_factory = |
1786 GetContentClient()->renderer()->CreateMediaRenderer( | 1784 GetContentClient()->renderer()->CreateMediaRendererFactory(this); |
1787 this, render_thread->GetMediaThreadTaskRunner()); | 1785 |
| 1786 if (!media_renderer_factory.get()) { |
| 1787 media_renderer_factory.reset(new media::DefaultRendererFactory( |
| 1788 media_log, render_thread->GetGpuFactories(), |
| 1789 *render_thread->GetAudioHardwareConfig())); |
| 1790 } |
1788 | 1791 |
1789 return new media::WebMediaPlayerImpl( | 1792 return new media::WebMediaPlayerImpl( |
1790 frame, client, weak_factory_.GetWeakPtr(), media_renderer.Pass(), | 1793 frame, client, weak_factory_.GetWeakPtr(), media_renderer_factory.Pass(), |
1791 cdm_factory.Pass(), params); | 1794 cdm_factory.Pass(), params); |
1792 #endif // defined(OS_ANDROID) | 1795 #endif // defined(OS_ANDROID) |
1793 } | 1796 } |
1794 | 1797 |
1795 blink::WebContentDecryptionModule* | 1798 blink::WebContentDecryptionModule* |
1796 RenderFrameImpl::createContentDecryptionModule( | 1799 RenderFrameImpl::createContentDecryptionModule( |
1797 blink::WebLocalFrame* frame, | 1800 blink::WebLocalFrame* frame, |
1798 const blink::WebSecurityOrigin& security_origin, | 1801 const blink::WebSecurityOrigin& security_origin, |
1799 const blink::WebString& key_system) { | 1802 const blink::WebString& key_system) { |
1800 DCHECK(!frame_ || frame_ == frame); | 1803 DCHECK(!frame_ || frame_ == frame); |
(...skipping 2441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4242 | 4245 |
4243 #if defined(ENABLE_BROWSER_CDMS) | 4246 #if defined(ENABLE_BROWSER_CDMS) |
4244 RendererCdmManager* RenderFrameImpl::GetCdmManager() { | 4247 RendererCdmManager* RenderFrameImpl::GetCdmManager() { |
4245 if (!cdm_manager_) | 4248 if (!cdm_manager_) |
4246 cdm_manager_ = new RendererCdmManager(this); | 4249 cdm_manager_ = new RendererCdmManager(this); |
4247 return cdm_manager_; | 4250 return cdm_manager_; |
4248 } | 4251 } |
4249 #endif // defined(ENABLE_BROWSER_CDMS) | 4252 #endif // defined(ENABLE_BROWSER_CDMS) |
4250 | 4253 |
4251 } // namespace content | 4254 } // namespace content |
OLD | NEW |