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 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
278 #if !defined(ENABLE_MOJO_RENDERER) || \ | 278 #if !defined(ENABLE_MOJO_RENDERER) || \ |
279 BUILDFLAG(ENABLE_RUNTIME_MEDIA_RENDERER_SELECTION) | 279 BUILDFLAG(ENABLE_RUNTIME_MEDIA_RENDERER_SELECTION) |
280 #include "media/renderers/default_renderer_factory.h" // nogncheck | 280 #include "media/renderers/default_renderer_factory.h" // nogncheck |
281 #endif | 281 #endif |
282 | 282 |
283 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) | 283 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) |
284 #include "media/mojo/clients/mojo_decoder_factory.h" // nogncheck | 284 #include "media/mojo/clients/mojo_decoder_factory.h" // nogncheck |
285 #endif | 285 #endif |
286 | 286 |
287 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 287 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
288 #include "media/remoting/adaptive_renderer_factory.h" // nogncheck | 288 #include "media/remoting/courier_renderer_factory.h" // nogncheck |
289 #include "media/remoting/remoting_cdm_controller.h" // nogncheck | 289 #include "media/remoting/remoting_cdm_controller.h" // nogncheck |
290 #include "media/remoting/remoting_cdm_factory.h" // nogncheck | 290 #include "media/remoting/remoting_cdm_factory.h" // nogncheck |
291 #include "media/remoting/renderer_controller.h" // nogncheck | 291 #include "media/remoting/renderer_controller.h" // nogncheck |
292 #include "media/remoting/shared_session.h" // nogncheck | 292 #include "media/remoting/shared_session.h" // nogncheck |
293 #include "media/remoting/sink_availability_observer.h" // nogncheck | 293 #include "media/remoting/sink_availability_observer.h" // nogncheck |
294 #endif | 294 #endif |
295 | 295 |
296 using base::Time; | 296 using base::Time; |
297 using base::TimeDelta; | 297 using base::TimeDelta; |
298 using blink::WebCachePolicy; | 298 using blink::WebCachePolicy; |
(...skipping 2652 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2951 #else | 2951 #else |
2952 media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( | 2952 media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( |
2953 media_log.get(), GetDecoderFactory(), | 2953 media_log.get(), GetDecoderFactory(), |
2954 base::Bind(&RenderThreadImpl::GetGpuFactories, | 2954 base::Bind(&RenderThreadImpl::GetGpuFactories, |
2955 base::Unretained(render_thread))); | 2955 base::Unretained(render_thread))); |
2956 | 2956 |
2957 factory_type = media::RendererFactorySelector::FactoryType::DEFAULT; | 2957 factory_type = media::RendererFactorySelector::FactoryType::DEFAULT; |
2958 #endif // defined(ENABLE_MOJO_RENDERER) | 2958 #endif // defined(ENABLE_MOJO_RENDERER) |
2959 | 2959 |
2960 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 2960 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
2961 media_renderer_factory = | 2961 auto courier_factory = |
2962 base::MakeUnique<media::remoting::AdaptiveRendererFactory>( | 2962 base::MakeUnique<media::remoting::CourierRendererFactory>( |
2963 std::move(media_renderer_factory), std::move(remoting_controller)); | 2963 std::move(remoting_controller)); |
2964 | 2964 |
2965 factory_type = media::RendererFactorySelector::FactoryType::ADAPTIVE; | 2965 // base::Unretained is safe here because |factory_selector| owns |
| 2966 // |courier_factory|. |
| 2967 factory_selector->SetUseCourierCB(base::Bind( |
| 2968 &media::remoting::CourierRendererFactory::ShouldCreateCourierRenderer, |
| 2969 base::Unretained(courier_factory.get()))); |
| 2970 |
| 2971 factory_selector->AddFactory( |
| 2972 media::RendererFactorySelector::FactoryType::COURIER, |
| 2973 std::move(courier_factory)); |
2966 #endif | 2974 #endif |
2967 | 2975 |
2968 if (!url_index_.get() || url_index_->frame() != frame_) | 2976 if (!url_index_.get() || url_index_->frame() != frame_) |
2969 url_index_.reset(new media::UrlIndex(frame_)); | 2977 url_index_.reset(new media::UrlIndex(frame_)); |
2970 | 2978 |
2971 factory_selector->AddFactory(factory_type, std::move(media_renderer_factory)); | 2979 factory_selector->AddFactory(factory_type, std::move(media_renderer_factory)); |
2972 factory_selector->SetBaseFactoryType(factory_type); | 2980 factory_selector->SetBaseFactoryType(factory_type); |
2973 | 2981 |
2974 std::unique_ptr<media::WebMediaPlayerParams> params( | 2982 std::unique_ptr<media::WebMediaPlayerParams> params( |
2975 new media::WebMediaPlayerParams( | 2983 new media::WebMediaPlayerParams( |
(...skipping 4074 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7050 policy(info.default_policy), | 7058 policy(info.default_policy), |
7051 replaces_current_history_item(info.replaces_current_history_item), | 7059 replaces_current_history_item(info.replaces_current_history_item), |
7052 history_navigation_in_new_child_frame( | 7060 history_navigation_in_new_child_frame( |
7053 info.is_history_navigation_in_new_child_frame), | 7061 info.is_history_navigation_in_new_child_frame), |
7054 client_redirect(info.is_client_redirect), | 7062 client_redirect(info.is_client_redirect), |
7055 cache_disabled(info.is_cache_disabled), | 7063 cache_disabled(info.is_cache_disabled), |
7056 form(info.form), | 7064 form(info.form), |
7057 source_location(info.source_location) {} | 7065 source_location(info.source_location) {} |
7058 | 7066 |
7059 } // namespace content | 7067 } // namespace content |
OLD | NEW |