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

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

Issue 783003002: Introduce media::RendererFactory interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments addressed 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
« no previous file with comments | « content/public/renderer/content_renderer_client.cc ('k') | media/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
OLDNEW
« no previous file with comments | « content/public/renderer/content_renderer_client.cc ('k') | media/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698