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

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

Issue 1230793009: Initial support for the desktop media pipeline on Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed comments Created 5 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
« no previous file with comments | « no previous file | media/blink/media_blink.gyp » ('j') | media/media.gyp » ('J')
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 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 base::TimeTicks() + base::TimeDelta::FromSecondsD(request->uiStartTime()); 489 base::TimeTicks() + base::TimeDelta::FromSecondsD(request->uiStartTime());
490 FrameMsg_UILoadMetricsReportType::Value report_type = 490 FrameMsg_UILoadMetricsReportType::Value report_type =
491 static_cast<FrameMsg_UILoadMetricsReportType::Value>( 491 static_cast<FrameMsg_UILoadMetricsReportType::Value>(
492 request->inputPerfMetricReportPolicy()); 492 request->inputPerfMetricReportPolicy());
493 return CommonNavigationParams(request->url(), referrer, 493 return CommonNavigationParams(request->url(), referrer,
494 extra_data->transition_type(), 494 extra_data->transition_type(),
495 FrameMsg_Navigate_Type::NORMAL, true, 495 FrameMsg_Navigate_Type::NORMAL, true,
496 ui_timestamp, report_type, GURL(), GURL()); 496 ui_timestamp, report_type, GURL(), GURL());
497 } 497 }
498 498
499 #if !defined(OS_ANDROID) 499 #if !defined(OS_ANDROID) || defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID)
500 media::Context3D GetSharedMainThreadContext3D() { 500 media::Context3D GetSharedMainThreadContext3D() {
501 cc::ContextProvider* provider = 501 cc::ContextProvider* provider =
502 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); 502 RenderThreadImpl::current()->SharedMainThreadContextProvider().get();
503 if (!provider) 503 if (!provider)
504 return media::Context3D(); 504 return media::Context3D();
505 return media::Context3D(provider->ContextGL(), provider->GrContext()); 505 return media::Context3D(provider->ContextGL(), provider->GrContext());
506 } 506 }
507 #endif 507 #endif
508 508
509 bool IsReload(FrameMsg_Navigate_Type::Value navigation_type) { 509 bool IsReload(FrameMsg_Navigate_Type::Value navigation_type) {
(...skipping 1504 matching lines...) Expand 10 before | Expand all | Expand 10 after
2014 render_view_->RegisterVideoHoleFrame(this); 2014 render_view_->RegisterVideoHoleFrame(this);
2015 contains_media_player_ = true; 2015 contains_media_player_ = true;
2016 } 2016 }
2017 #endif // defined(VIDEO_HOLE) 2017 #endif // defined(VIDEO_HOLE)
2018 2018
2019 blink::WebMediaStream web_stream( 2019 blink::WebMediaStream web_stream(
2020 blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url)); 2020 blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url));
2021 if (!web_stream.isNull()) 2021 if (!web_stream.isNull())
2022 return CreateWebMediaPlayerForMediaStream(client); 2022 return CreateWebMediaPlayerForMediaStream(client);
2023 2023
2024 #if defined(OS_ANDROID) 2024 #if defined(OS_ANDROID) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID)
2025 return CreateAndroidWebMediaPlayer(client, encrypted_client, 2025 return CreateAndroidWebMediaPlayer(client, encrypted_client,
2026 GetMediaPermission(), initial_cdm); 2026 GetMediaPermission(), initial_cdm);
2027 #else 2027 #else
2028 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog()); 2028 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog());
2029 2029
2030 RenderThreadImpl* render_thread = RenderThreadImpl::current(); 2030 RenderThreadImpl* render_thread = RenderThreadImpl::current();
2031 media::WebMediaPlayerParams params( 2031 media::WebMediaPlayerParams params(
2032 base::Bind(&ContentRendererClient::DeferMediaLoad, 2032 base::Bind(&ContentRendererClient::DeferMediaLoad,
2033 base::Unretained(GetContentClient()->renderer()), 2033 base::Unretained(GetContentClient()->renderer()),
2034 static_cast<RenderFrame*>(this)), 2034 static_cast<RenderFrame*>(this)),
(...skipping 14 matching lines...) Expand all
2049 if (!media_renderer_factory.get()) { 2049 if (!media_renderer_factory.get()) {
2050 media_renderer_factory.reset(new media::DefaultRendererFactory( 2050 media_renderer_factory.reset(new media::DefaultRendererFactory(
2051 media_log, render_thread->GetGpuFactories(), 2051 media_log, render_thread->GetGpuFactories(),
2052 *render_thread->GetAudioHardwareConfig())); 2052 *render_thread->GetAudioHardwareConfig()));
2053 } 2053 }
2054 #endif // defined(ENABLE_MOJO_MEDIA) 2054 #endif // defined(ENABLE_MOJO_MEDIA)
2055 2055
2056 return new media::WebMediaPlayerImpl( 2056 return new media::WebMediaPlayerImpl(
2057 frame, client, encrypted_client, weak_factory_.GetWeakPtr(), 2057 frame, client, encrypted_client, weak_factory_.GetWeakPtr(),
2058 media_renderer_factory.Pass(), GetCdmFactory(), params); 2058 media_renderer_factory.Pass(), GetCdmFactory(), params);
2059 #endif // defined(OS_ANDROID) 2059 #endif // defined(OS_ANDROID) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID)
2060 } 2060 }
2061 2061
2062 blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost( 2062 blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost(
2063 blink::WebLocalFrame* frame, 2063 blink::WebLocalFrame* frame,
2064 blink::WebApplicationCacheHostClient* client) { 2064 blink::WebApplicationCacheHostClient* client) {
2065 if (!frame || !frame->view()) 2065 if (!frame || !frame->view())
2066 return NULL; 2066 return NULL;
2067 DCHECK(!frame_ || frame_ == frame); 2067 DCHECK(!frame_ || frame_ == frame);
2068 return new RendererWebApplicationCacheHostImpl( 2068 return new RendererWebApplicationCacheHostImpl(
2069 RenderViewImpl::FromWebView(frame->view()), client, 2069 RenderViewImpl::FromWebView(frame->view()), client,
(...skipping 3000 matching lines...) Expand 10 before | Expand all | Expand 10 after
5070 void RenderFrameImpl::RegisterMojoServices() { 5070 void RenderFrameImpl::RegisterMojoServices() {
5071 // Only main frame have ImageDownloader service. 5071 // Only main frame have ImageDownloader service.
5072 if (!frame_->parent()) { 5072 if (!frame_->parent()) {
5073 GetServiceRegistry()->AddService<image_downloader::ImageDownloader>( 5073 GetServiceRegistry()->AddService<image_downloader::ImageDownloader>(
5074 base::Bind(&ImageDownloaderImpl::CreateMojoService, 5074 base::Bind(&ImageDownloaderImpl::CreateMojoService,
5075 base::Unretained(this))); 5075 base::Unretained(this)));
5076 } 5076 }
5077 } 5077 }
5078 5078
5079 } // namespace content 5079 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | media/blink/media_blink.gyp » ('j') | media/media.gyp » ('J')

Powered by Google App Engine
This is Rietveld 408576698