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 "remoting/client/jni/chromoting_jni_instance.h" | 5 #include "remoting/client/jni/chromoting_jni_instance.h" |
6 | 6 |
7 #include <android/log.h> | 7 #include <android/log.h> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 | 380 |
381 jni_runtime_->UpdateCursorShape(shape); | 381 jni_runtime_->UpdateCursorShape(shape); |
382 } | 382 } |
383 | 383 |
384 void ChromotingJniInstance::ConnectToHostOnDisplayThread() { | 384 void ChromotingJniInstance::ConnectToHostOnDisplayThread() { |
385 DCHECK(jni_runtime_->display_task_runner()->BelongsToCurrentThread()); | 385 DCHECK(jni_runtime_->display_task_runner()->BelongsToCurrentThread()); |
386 | 386 |
387 view_.reset(new JniFrameConsumer(jni_runtime_, this)); | 387 view_.reset(new JniFrameConsumer(jni_runtime_, this)); |
388 view_weak_factory_.reset(new base::WeakPtrFactory<JniFrameConsumer>( | 388 view_weak_factory_.reset(new base::WeakPtrFactory<JniFrameConsumer>( |
389 view_.get())); | 389 view_.get())); |
390 frame_consumer_ = new FrameConsumerProxy(jni_runtime_->display_task_runner(), | 390 scoped_ptr<FrameConsumerProxy> frame_consumer = |
391 view_weak_factory_->GetWeakPtr()); | 391 make_scoped_ptr(new FrameConsumerProxy(view_weak_factory_->GetWeakPtr())); |
392 | 392 |
393 jni_runtime_->network_task_runner()->PostTask( | 393 jni_runtime_->network_task_runner()->PostTask( |
394 FROM_HERE, | 394 FROM_HERE, |
395 base::Bind(&ChromotingJniInstance::ConnectToHostOnNetworkThread, | 395 base::Bind(&ChromotingJniInstance::ConnectToHostOnNetworkThread, this, |
396 this)); | 396 base::Passed(&frame_consumer))); |
397 } | 397 } |
398 | 398 |
399 void ChromotingJniInstance::ConnectToHostOnNetworkThread() { | 399 void ChromotingJniInstance::ConnectToHostOnNetworkThread( |
| 400 scoped_ptr<FrameConsumerProxy> frame_consumer) { |
400 DCHECK(jni_runtime_->network_task_runner()->BelongsToCurrentThread()); | 401 DCHECK(jni_runtime_->network_task_runner()->BelongsToCurrentThread()); |
| 402 DCHECK(frame_consumer); |
401 | 403 |
402 jingle_glue::JingleThreadWrapper::EnsureForCurrentMessageLoop(); | 404 jingle_glue::JingleThreadWrapper::EnsureForCurrentMessageLoop(); |
403 | 405 |
404 client_context_.reset(new ClientContext( | 406 client_context_.reset(new ClientContext(jni_runtime_->network_task_runner())); |
405 jni_runtime_->network_task_runner().get())); | |
406 client_context_->Start(); | 407 client_context_->Start(); |
407 | 408 |
408 SoftwareVideoRenderer* renderer = | 409 SoftwareVideoRenderer* renderer = new SoftwareVideoRenderer( |
409 new SoftwareVideoRenderer(client_context_->main_task_runner(), | 410 client_context_->main_task_runner(), |
410 client_context_->decode_task_runner(), | 411 client_context_->decode_task_runner(), frame_consumer.Pass()); |
411 frame_consumer_); | |
412 view_->set_frame_producer(renderer); | 412 view_->set_frame_producer(renderer); |
413 video_renderer_.reset(renderer); | 413 video_renderer_.reset(renderer); |
414 | 414 |
415 client_.reset(new ChromotingClient( | 415 client_.reset(new ChromotingClient( |
416 client_context_.get(), this, video_renderer_.get(), nullptr)); | 416 client_context_.get(), this, video_renderer_.get(), nullptr)); |
417 | 417 |
418 signaling_.reset(new XmppSignalStrategy( | 418 signaling_.reset(new XmppSignalStrategy( |
419 net::ClientSocketFactory::GetDefaultFactory(), | 419 net::ClientSocketFactory::GetDefaultFactory(), |
420 jni_runtime_->url_requester(), xmpp_config_)); | 420 jni_runtime_->url_requester(), xmpp_config_)); |
421 | 421 |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
531 stats->round_trip_ms()->Average()); | 531 stats->round_trip_ms()->Average()); |
532 | 532 |
533 client_status_logger_->LogStatistics(stats); | 533 client_status_logger_->LogStatistics(stats); |
534 | 534 |
535 jni_runtime_->network_task_runner()->PostDelayedTask( | 535 jni_runtime_->network_task_runner()->PostDelayedTask( |
536 FROM_HERE, base::Bind(&ChromotingJniInstance::LogPerfStats, this), | 536 FROM_HERE, base::Bind(&ChromotingJniInstance::LogPerfStats, this), |
537 base::TimeDelta::FromMilliseconds(kPerfStatsIntervalMs)); | 537 base::TimeDelta::FromMilliseconds(kPerfStatsIntervalMs)); |
538 } | 538 } |
539 | 539 |
540 } // namespace remoting | 540 } // namespace remoting |
OLD | NEW |