| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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/media/media_factory.h" | 5 #include "content/renderer/media/media_factory.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "base/metrics/field_trial_params.h" | 9 #include "base/metrics/field_trial_params.h" |
| 10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 // a new player id which is used to collate logs on the browser side. | 209 // a new player id which is used to collate logs on the browser side. |
| 210 std::unique_ptr<media::MediaLog> media_log( | 210 std::unique_ptr<media::MediaLog> media_log( |
| 211 new RenderMediaLog(url::Origin(security_origin).GetURL())); | 211 new RenderMediaLog(url::Origin(security_origin).GetURL())); |
| 212 | 212 |
| 213 base::WeakPtr<media::MediaObserver> media_observer; | 213 base::WeakPtr<media::MediaObserver> media_observer; |
| 214 | 214 |
| 215 auto factory_selector = | 215 auto factory_selector = |
| 216 CreateRendererFactorySelector(media_log.get(), use_media_player_renderer, | 216 CreateRendererFactorySelector(media_log.get(), use_media_player_renderer, |
| 217 GetDecoderFactory(), &media_observer); | 217 GetDecoderFactory(), &media_observer); |
| 218 | 218 |
| 219 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
| 220 DCHECK(media_observer); |
| 221 #endif |
| 222 |
| 219 if (!url_index_.get() || url_index_->frame() != web_frame) | 223 if (!url_index_.get() || url_index_->frame() != web_frame) |
| 220 url_index_.reset(new media::UrlIndex(web_frame)); | 224 url_index_.reset(new media::UrlIndex(web_frame)); |
| 221 | 225 |
| 222 std::unique_ptr<media::WebMediaPlayerParams> params( | 226 std::unique_ptr<media::WebMediaPlayerParams> params( |
| 223 new media::WebMediaPlayerParams( | 227 new media::WebMediaPlayerParams( |
| 224 std::move(media_log), | 228 std::move(media_log), |
| 225 base::Bind(&ContentRendererClient::DeferMediaLoad, | 229 base::Bind(&ContentRendererClient::DeferMediaLoad, |
| 226 base::Unretained(GetContentClient()->renderer()), | 230 base::Unretained(GetContentClient()->renderer()), |
| 227 static_cast<RenderFrame*>(render_frame_), | 231 static_cast<RenderFrame*>(render_frame_), |
| 228 GetWebMediaPlayerDelegate()->has_played_media()), | 232 GetWebMediaPlayerDelegate()->has_played_media()), |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 342 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 346 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
| 343 media::mojom::RemotingSourcePtr remoting_source; | 347 media::mojom::RemotingSourcePtr remoting_source; |
| 344 auto remoting_source_request = mojo::MakeRequest(&remoting_source); | 348 auto remoting_source_request = mojo::MakeRequest(&remoting_source); |
| 345 media::mojom::RemoterPtr remoter; | 349 media::mojom::RemoterPtr remoter; |
| 346 GetRemoterFactory()->Create(std::move(remoting_source), | 350 GetRemoterFactory()->Create(std::move(remoting_source), |
| 347 mojo::MakeRequest(&remoter)); | 351 mojo::MakeRequest(&remoter)); |
| 348 using RemotingController = media::remoting::RendererController; | 352 using RemotingController = media::remoting::RendererController; |
| 349 std::unique_ptr<RemotingController> remoting_controller( | 353 std::unique_ptr<RemotingController> remoting_controller( |
| 350 new RemotingController(new media::remoting::SharedSession( | 354 new RemotingController(new media::remoting::SharedSession( |
| 351 std::move(remoting_source_request), std::move(remoter)))); | 355 std::move(remoting_source_request), std::move(remoter)))); |
| 352 base::WeakPtr<media::MediaObserver> media_observer = | 356 *out_media_observer = remoting_controller->GetWeakPtr(); |
| 353 remoting_controller->GetWeakPtr(); | |
| 354 | 357 |
| 355 auto courier_factory = | 358 auto courier_factory = |
| 356 base::MakeUnique<media::remoting::CourierRendererFactory>( | 359 base::MakeUnique<media::remoting::CourierRendererFactory>( |
| 357 std::move(remoting_controller)); | 360 std::move(remoting_controller)); |
| 358 | 361 |
| 359 // base::Unretained is safe here because |factory_selector| owns | 362 // base::Unretained is safe here because |factory_selector| owns |
| 360 // |courier_factory|. | 363 // |courier_factory|. |
| 361 factory_selector->SetQueryIsRemotingActiveCB( | 364 factory_selector->SetQueryIsRemotingActiveCB( |
| 362 base::Bind(&media::remoting::CourierRendererFactory::IsRemotingActive, | 365 base::Bind(&media::remoting::CourierRendererFactory::IsRemotingActive, |
| 363 base::Unretained(courier_factory.get()))); | 366 base::Unretained(courier_factory.get()))); |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 DCHECK(remote_interfaces_); | 496 DCHECK(remote_interfaces_); |
| 494 media_interface_provider_.reset( | 497 media_interface_provider_.reset( |
| 495 new MediaInterfaceProvider(remote_interfaces_)); | 498 new MediaInterfaceProvider(remote_interfaces_)); |
| 496 } | 499 } |
| 497 | 500 |
| 498 return media_interface_provider_.get(); | 501 return media_interface_provider_.get(); |
| 499 } | 502 } |
| 500 #endif // BUILDFLAG(ENABLE_MOJO_MEDIA) | 503 #endif // BUILDFLAG(ENABLE_MOJO_MEDIA) |
| 501 | 504 |
| 502 } // namespace content | 505 } // namespace content |
| OLD | NEW |