| 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 |