OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "extensions/renderer/api/display_source/wifi_display/wifi_display_media
_manager.h" | 5 #include "extensions/renderer/api/display_source/wifi_display/wifi_display_media
_manager.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/rand_util.h" | 8 #include "base/rand_util.h" |
9 #include "base/task_runner_util.h" | 9 #include "base/task_runner_util.h" |
10 #include "content/public/common/service_registry.h" | |
11 #include "content/public/renderer/media_stream_utils.h" | 10 #include "content/public/renderer/media_stream_utils.h" |
12 #include "content/public/renderer/media_stream_video_sink.h" | 11 #include "content/public/renderer/media_stream_video_sink.h" |
13 #include "content/public/renderer/render_thread.h" | 12 #include "content/public/renderer/render_thread.h" |
14 #include "content/public/renderer/video_encode_accelerator.h" | 13 #include "content/public/renderer/video_encode_accelerator.h" |
15 #include "extensions/common/mojo/wifi_display_session_service.mojom.h" | 14 #include "extensions/common/mojo/wifi_display_session_service.mojom.h" |
16 #include "extensions/renderer/api/display_source/wifi_display/wifi_display_eleme
ntary_stream_info.h" | 15 #include "extensions/renderer/api/display_source/wifi_display/wifi_display_eleme
ntary_stream_info.h" |
17 #include "extensions/renderer/api/display_source/wifi_display/wifi_display_media
_pipeline.h" | 16 #include "extensions/renderer/api/display_source/wifi_display/wifi_display_media
_pipeline.h" |
18 #include "media/base/bind_to_current_loop.h" | 17 #include "media/base/bind_to_current_loop.h" |
| 18 #include "services/shell/public/cpp/interface_provider.h" |
19 | 19 |
20 namespace extensions { | 20 namespace extensions { |
21 | 21 |
22 namespace { | 22 namespace { |
23 | 23 |
24 const char kErrorNoVideoFormatData[] = | 24 const char kErrorNoVideoFormatData[] = |
25 "Failed to get video format data from the given MediaStreamTrack object"; | 25 "Failed to get video format data from the given MediaStreamTrack object"; |
26 const char kErrorSinkCannotPlayVideo[] = | 26 const char kErrorSinkCannotPlayVideo[] = |
27 "The sink cannot play video from the given MediaStreamTrack object"; | 27 "The sink cannot play video from the given MediaStreamTrack object"; |
28 const char kErrorSinkCannotPlayAudio[] = | 28 const char kErrorSinkCannotPlayAudio[] = |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 private: | 79 private: |
80 blink::WebMediaStreamTrack track_; | 80 blink::WebMediaStreamTrack track_; |
81 content::VideoCaptureDeliverFrameCB callback_; | 81 content::VideoCaptureDeliverFrameCB callback_; |
82 DISALLOW_COPY_AND_ASSIGN(WiFiDisplayVideoSink); | 82 DISALLOW_COPY_AND_ASSIGN(WiFiDisplayVideoSink); |
83 }; | 83 }; |
84 | 84 |
85 WiFiDisplayMediaManager::WiFiDisplayMediaManager( | 85 WiFiDisplayMediaManager::WiFiDisplayMediaManager( |
86 const blink::WebMediaStreamTrack& video_track, | 86 const blink::WebMediaStreamTrack& video_track, |
87 const blink::WebMediaStreamTrack& audio_track, | 87 const blink::WebMediaStreamTrack& audio_track, |
88 const std::string& sink_ip_address, | 88 const std::string& sink_ip_address, |
89 content::ServiceRegistry* service_registry, | 89 shell::InterfaceProvider* interface_provider, |
90 const ErrorCallback& error_callback) | 90 const ErrorCallback& error_callback) |
91 : video_track_(video_track), | 91 : video_track_(video_track), |
92 audio_track_(audio_track), | 92 audio_track_(audio_track), |
93 service_registry_(service_registry), | 93 interface_provider_(interface_provider), |
94 sink_ip_address_(sink_ip_address), | 94 sink_ip_address_(sink_ip_address), |
95 player_(nullptr), | 95 player_(nullptr), |
96 io_task_runner_(content::RenderThread::Get()->GetIOTaskRunner()), | 96 io_task_runner_(content::RenderThread::Get()->GetIOTaskRunner()), |
97 error_callback_(error_callback), | 97 error_callback_(error_callback), |
98 is_playing_(false), | 98 is_playing_(false), |
99 is_initialized_(false), | 99 is_initialized_(false), |
100 weak_factory_(this) { | 100 weak_factory_(this) { |
101 DCHECK(!video_track.isNull() || !audio_track.isNull()); | 101 DCHECK(!video_track.isNull() || !audio_track.isNull()); |
102 DCHECK(service_registry_); | 102 DCHECK(interface_provider_); |
103 DCHECK(!error_callback_.is_null()); | 103 DCHECK(!error_callback_.is_null()); |
104 } | 104 } |
105 | 105 |
106 WiFiDisplayMediaManager::~WiFiDisplayMediaManager() { | 106 WiFiDisplayMediaManager::~WiFiDisplayMediaManager() { |
107 Teardown(); | 107 Teardown(); |
108 } | 108 } |
109 | 109 |
110 void WiFiDisplayMediaManager::Play() { | 110 void WiFiDisplayMediaManager::Play() { |
111 is_playing_ = true; | 111 is_playing_ = true; |
112 if (!player_) { | 112 if (!player_) { |
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
481 base::Unretained(this), | 481 base::Unretained(this), |
482 base::Passed(&request)); | 482 base::Passed(&request)); |
483 main_runner->PostTaskAndReply(FROM_HERE, | 483 main_runner->PostTaskAndReply(FROM_HERE, |
484 connect_service_callback, | 484 connect_service_callback, |
485 media::BindToCurrentLoop(on_completed)); | 485 media::BindToCurrentLoop(on_completed)); |
486 } | 486 } |
487 | 487 |
488 void WiFiDisplayMediaManager::ConnectToRemoteService( | 488 void WiFiDisplayMediaManager::ConnectToRemoteService( |
489 WiFiDisplayMediaServiceRequest request) { | 489 WiFiDisplayMediaServiceRequest request) { |
490 DCHECK(content::RenderThread::Get()); | 490 DCHECK(content::RenderThread::Get()); |
491 service_registry_->ConnectToRemoteService(std::move(request)); | 491 interface_provider_->GetInterface(std::move(request)); |
492 } | 492 } |
493 | 493 |
494 } // namespace extensions | 494 } // namespace extensions |
OLD | NEW |