| Index: remoting/client/jni/chromoting_jni_instance.cc | 
| diff --git a/remoting/client/jni/chromoting_jni_instance.cc b/remoting/client/jni/chromoting_jni_instance.cc | 
| index 3c7866b358c86c5368fff246769e94f0e8417b9c..96f0d35105e6a313b34a790f10a9fda92d71cc5e 100644 | 
| --- a/remoting/client/jni/chromoting_jni_instance.cc | 
| +++ b/remoting/client/jni/chromoting_jni_instance.cc | 
| @@ -12,6 +12,7 @@ | 
| #include "remoting/client/audio_player.h" | 
| #include "remoting/client/jni/android_keymap.h" | 
| #include "remoting/client/jni/chromoting_jni_runtime.h" | 
| +#include "remoting/client/software_video_renderer.h" | 
| #include "remoting/jingle_glue/chromium_port_allocator.h" | 
| #include "remoting/jingle_glue/chromium_socket_factory.h" | 
| #include "remoting/jingle_glue/network_settings.h" | 
| @@ -188,7 +189,7 @@ void ChromotingJniInstance::RecordPaintTime(int64 paint_time_ms) { | 
| } | 
|  | 
| if (stats_logging_enabled_) | 
| -    client_->GetStats()->video_paint_ms()->Record(paint_time_ms); | 
| +    video_renderer_->GetStats()->video_paint_ms()->Record(paint_time_ms); | 
| } | 
|  | 
| void ChromotingJniInstance::OnConnectionState( | 
| @@ -298,11 +299,17 @@ void ChromotingJniInstance::ConnectToHostOnNetworkThread() { | 
|  | 
| connection_.reset(new protocol::ConnectionToHost(true)); | 
|  | 
| +  SoftwareVideoRenderer* renderer = | 
| +      new SoftwareVideoRenderer(client_context_->main_task_runner(), | 
| +                                client_context_->decode_task_runner(), | 
| +                                frame_consumer_); | 
| +  view_->set_frame_producer(renderer); | 
| +  video_renderer_.reset(renderer); | 
| + | 
| client_.reset(new ChromotingClient( | 
| client_config_, client_context_.get(), connection_.get(), | 
| -      this, frame_consumer_, scoped_ptr<AudioPlayer>())); | 
| +      this, video_renderer_.get(), scoped_ptr<AudioPlayer>())); | 
|  | 
| -  view_->set_frame_producer(client_->GetFrameProducer()); | 
|  | 
| signaling_.reset(new XmppSignalStrategy( | 
| net::ClientSocketFactory::GetDefaultFactory(), | 
| @@ -373,7 +380,7 @@ void ChromotingJniInstance::LogPerfStats() { | 
| if (!stats_logging_enabled_) | 
| return; | 
|  | 
| -  ChromotingStats* stats = client_->GetStats(); | 
| +  ChromotingStats* stats = video_renderer_->GetStats(); | 
| __android_log_print(ANDROID_LOG_INFO, "stats", | 
| "Bandwidth:%.0f FrameRate:%.1f Capture:%.1f Encode:%.1f " | 
| "Decode:%.1f Render:%.1f Latency:%.0f", | 
|  |