Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "remoting/client/chromoting_view.h" | 8 #include "remoting/client/chromoting_view.h" |
| 9 #include "remoting/client/client_context.h" | 9 #include "remoting/client/client_context.h" |
| 10 #include "remoting/client/rectangle_update_decoder.h" | 10 #include "remoting/client/rectangle_update_decoder.h" |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 116 const base::Closure& done) { | 116 const base::Closure& done) { |
| 117 DCHECK(message_loop()->BelongsToCurrentThread()); | 117 DCHECK(message_loop()->BelongsToCurrentThread()); |
| 118 | 118 |
| 119 // If the video packet is empty then drop it. Empty packets are used to | 119 // If the video packet is empty then drop it. Empty packets are used to |
| 120 // maintain activity on the network. | 120 // maintain activity on the network. |
| 121 if (!packet->has_data() || packet->data().size() == 0) { | 121 if (!packet->has_data() || packet->data().size() == 0) { |
| 122 done.Run(); | 122 done.Run(); |
| 123 return; | 123 return; |
| 124 } | 124 } |
| 125 | 125 |
| 126 // TODO(garykac) Add proper support for cursor shape packets. | |
|
Wez
2012/05/16 00:20:04
nit: Rather than a TODO here, just create a bug an
garykac
2012/05/22 00:42:03
Done.
| |
| 127 if (packet->flags() & VideoPacket::CURSOR_SHAPE) { | |
| 128 // Ignore cursor shape changes for now. | |
| 129 done.Run(); | |
| 130 return; | |
| 131 } | |
| 132 | |
| 126 // Add one frame to the counter. | 133 // Add one frame to the counter. |
| 127 stats_.video_frame_rate()->Record(1); | 134 stats_.video_frame_rate()->Record(1); |
| 128 | 135 |
| 129 // Record other statistics received from host. | 136 // Record other statistics received from host. |
| 130 stats_.video_bandwidth()->Record(packet->data().size()); | 137 stats_.video_bandwidth()->Record(packet->data().size()); |
| 131 if (packet->has_capture_time_ms()) | 138 if (packet->has_capture_time_ms()) |
| 132 stats_.video_capture_ms()->Record(packet->capture_time_ms()); | 139 stats_.video_capture_ms()->Record(packet->capture_time_ms()); |
| 133 if (packet->has_encode_time_ms()) | 140 if (packet->has_encode_time_ms()) |
| 134 stats_.video_encode_ms()->Record(packet->encode_time_ms()); | 141 stats_.video_encode_ms()->Record(packet->encode_time_ms()); |
| 135 if (packet->has_client_sequence_number() && | 142 if (packet->has_client_sequence_number() && |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 219 thread_proxy_.PostTask(FROM_HERE, base::Bind( | 226 thread_proxy_.PostTask(FROM_HERE, base::Bind( |
| 220 &ChromotingClient::Initialize, base::Unretained(this))); | 227 &ChromotingClient::Initialize, base::Unretained(this))); |
| 221 return; | 228 return; |
| 222 } | 229 } |
| 223 | 230 |
| 224 // Initialize the decoder. | 231 // Initialize the decoder. |
| 225 rectangle_decoder_->Initialize(connection_->config()); | 232 rectangle_decoder_->Initialize(connection_->config()); |
| 226 } | 233 } |
| 227 | 234 |
| 228 } // namespace remoting | 235 } // namespace remoting |
| OLD | NEW |