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

Side by Side Diff: remoting/client/chromoting_client.cc

Issue 1559933003: Pass VideoRenderer interface to ConnectionToHost. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@move_frame_consumer
Patch Set: Created 4 years, 11 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 | remoting/protocol/BUILD.gn » ('j') | remoting/protocol/ice_connection_to_host.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "remoting/client/chromoting_client.h" 5 #include "remoting/client/chromoting_client.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "remoting/base/capabilities.h" 9 #include "remoting/base/capabilities.h"
10 #include "remoting/client/audio_decode_scheduler.h" 10 #include "remoting/client/audio_decode_scheduler.h"
11 #include "remoting/client/audio_player.h" 11 #include "remoting/client/audio_player.h"
12 #include "remoting/client/client_context.h" 12 #include "remoting/client/client_context.h"
13 #include "remoting/client/client_user_interface.h" 13 #include "remoting/client/client_user_interface.h"
14 #include "remoting/protocol/authenticator.h" 14 #include "remoting/protocol/authenticator.h"
15 #include "remoting/protocol/connection_to_host.h" 15 #include "remoting/protocol/connection_to_host.h"
16 #include "remoting/protocol/host_stub.h" 16 #include "remoting/protocol/host_stub.h"
17 #include "remoting/protocol/ice_connection_to_host.h" 17 #include "remoting/protocol/ice_connection_to_host.h"
18 #include "remoting/protocol/ice_transport.h" 18 #include "remoting/protocol/ice_transport.h"
19 #include "remoting/protocol/jingle_session_manager.h" 19 #include "remoting/protocol/jingle_session_manager.h"
20 #include "remoting/protocol/session_config.h" 20 #include "remoting/protocol/session_config.h"
21 #include "remoting/protocol/transport_context.h" 21 #include "remoting/protocol/transport_context.h"
22 #include "remoting/protocol/video_renderer.h"
23 22
24 namespace remoting { 23 namespace remoting {
25 24
26 ChromotingClient::ChromotingClient(ClientContext* client_context, 25 ChromotingClient::ChromotingClient(ClientContext* client_context,
27 ClientUserInterface* user_interface, 26 ClientUserInterface* user_interface,
28 protocol::VideoRenderer* video_renderer, 27 protocol::VideoRenderer* video_renderer,
29 scoped_ptr<AudioPlayer> audio_player) 28 scoped_ptr<AudioPlayer> audio_player)
30 : user_interface_(user_interface), 29 : user_interface_(user_interface),
31 video_renderer_(video_renderer), 30 video_renderer_(video_renderer),
32 connection_(new protocol::IceConnectionToHost()) { 31 connection_(new protocol::IceConnectionToHost()) {
(...skipping 27 matching lines...) Expand all
60 const std::string& host_jid, 59 const std::string& host_jid,
61 const std::string& capabilities) { 60 const std::string& capabilities) {
62 DCHECK(thread_checker_.CalledOnValidThread()); 61 DCHECK(thread_checker_.CalledOnValidThread());
63 DCHECK(!session_manager_); // Start must be called more than once. 62 DCHECK(!session_manager_); // Start must be called more than once.
64 63
65 host_jid_ = host_jid; 64 host_jid_ = host_jid;
66 local_capabilities_ = capabilities; 65 local_capabilities_ = capabilities;
67 66
68 connection_->set_client_stub(this); 67 connection_->set_client_stub(this);
69 connection_->set_clipboard_stub(this); 68 connection_->set_clipboard_stub(this);
70 connection_->set_video_stub(video_renderer_->GetVideoStub()); 69 connection_->set_video_renderer(video_renderer_);
71 connection_->set_audio_stub(audio_decode_scheduler_.get()); 70 connection_->set_audio_stub(audio_decode_scheduler_.get());
72 71
73 session_manager_.reset(new protocol::JingleSessionManager(signal_strategy)); 72 session_manager_.reset(new protocol::JingleSessionManager(signal_strategy));
74 73
75 if (!protocol_config_) 74 if (!protocol_config_)
76 protocol_config_ = protocol::CandidateSessionConfig::CreateDefault(); 75 protocol_config_ = protocol::CandidateSessionConfig::CreateDefault();
77 if (!audio_decode_scheduler_) 76 if (!audio_decode_scheduler_)
78 protocol_config_->DisableAudioChannel(); 77 protocol_config_->DisableAudioChannel();
79 session_manager_->set_protocol_config(std::move(protocol_config_)); 78 session_manager_->set_protocol_config(std::move(protocol_config_));
80 79
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 DCHECK(thread_checker_.CalledOnValidThread()); 201 DCHECK(thread_checker_.CalledOnValidThread());
203 connection_->Connect( 202 connection_->Connect(
204 session_manager_->Connect(host_jid_, std::move(authenticator_)), 203 session_manager_->Connect(host_jid_, std::move(authenticator_)),
205 transport_context_, this); 204 transport_context_, this);
206 } 205 }
207 206
208 void ChromotingClient::OnAuthenticated() { 207 void ChromotingClient::OnAuthenticated() {
209 DCHECK(thread_checker_.CalledOnValidThread()); 208 DCHECK(thread_checker_.CalledOnValidThread());
210 209
211 // Initialize the decoder. 210 // Initialize the decoder.
212 video_renderer_->OnSessionConfig(connection_->config());
213 if (connection_->config().is_audio_enabled()) 211 if (connection_->config().is_audio_enabled())
214 audio_decode_scheduler_->Initialize(connection_->config()); 212 audio_decode_scheduler_->Initialize(connection_->config());
215 } 213 }
216 214
217 void ChromotingClient::OnChannelsConnected() { 215 void ChromotingClient::OnChannelsConnected() {
218 DCHECK(thread_checker_.CalledOnValidThread()); 216 DCHECK(thread_checker_.CalledOnValidThread());
219 217
220 // Negotiate capabilities with the host. 218 // Negotiate capabilities with the host.
221 VLOG(1) << "Client capabilities: " << local_capabilities_; 219 VLOG(1) << "Client capabilities: " << local_capabilities_;
222 220
223 protocol::Capabilities capabilities; 221 protocol::Capabilities capabilities;
224 capabilities.set_capabilities(local_capabilities_); 222 capabilities.set_capabilities(local_capabilities_);
225 connection_->host_stub()->SetCapabilities(capabilities); 223 connection_->host_stub()->SetCapabilities(capabilities);
226 } 224 }
227 225
228 } // namespace remoting 226 } // namespace remoting
OLDNEW
« no previous file with comments | « no previous file | remoting/protocol/BUILD.gn » ('j') | remoting/protocol/ice_connection_to_host.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698