| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 #include "webrtc/modules/video_coding/jitter_buffer.h" | 10 #include "webrtc/modules/video_coding/jitter_buffer.h" |
| (...skipping 1264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1275 } else { | 1275 } else { |
| 1276 TRACE_EVENT_ASYNC_STEP0("webrtc", "Video", frame.TimeStamp(), | 1276 TRACE_EVENT_ASYNC_STEP0("webrtc", "Video", frame.TimeStamp(), |
| 1277 "DeltaComplete"); | 1277 "DeltaComplete"); |
| 1278 } | 1278 } |
| 1279 | 1279 |
| 1280 // Update receive statistics. We count all layers, thus when you use layers | 1280 // Update receive statistics. We count all layers, thus when you use layers |
| 1281 // adding all key and delta frames might differ from frame count. | 1281 // adding all key and delta frames might differ from frame count. |
| 1282 if (frame.IsSessionComplete()) { | 1282 if (frame.IsSessionComplete()) { |
| 1283 if (frame.FrameType() == kVideoFrameKey) { | 1283 if (frame.FrameType() == kVideoFrameKey) { |
| 1284 ++receive_statistics_.key_frames; | 1284 ++receive_statistics_.key_frames; |
| 1285 if (receive_statistics_.key_frames == 1) { |
| 1286 LOG(LS_INFO) << "Received first complete key frame"; |
| 1287 } |
| 1285 } else { | 1288 } else { |
| 1286 ++receive_statistics_.delta_frames; | 1289 ++receive_statistics_.delta_frames; |
| 1287 } | 1290 } |
| 1291 |
| 1288 if (stats_callback_ != NULL) | 1292 if (stats_callback_ != NULL) |
| 1289 stats_callback_->OnFrameCountsUpdated(receive_statistics_); | 1293 stats_callback_->OnFrameCountsUpdated(receive_statistics_); |
| 1290 } | 1294 } |
| 1291 } | 1295 } |
| 1292 | 1296 |
| 1293 void VCMJitterBuffer::UpdateAveragePacketsPerFrame(int current_number_packets) { | 1297 void VCMJitterBuffer::UpdateAveragePacketsPerFrame(int current_number_packets) { |
| 1294 if (frame_counter_ > kFastConvergeThreshold) { | 1298 if (frame_counter_ > kFastConvergeThreshold) { |
| 1295 average_packets_per_frame_ = | 1299 average_packets_per_frame_ = |
| 1296 average_packets_per_frame_ * (1 - kNormalConvergeMultiplier) + | 1300 average_packets_per_frame_ * (1 - kNormalConvergeMultiplier) + |
| 1297 current_number_packets * kNormalConvergeMultiplier; | 1301 current_number_packets * kNormalConvergeMultiplier; |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1387 if (nack_module_) | 1391 if (nack_module_) |
| 1388 return nack_module_->TimeUntilNextProcess(); | 1392 return nack_module_->TimeUntilNextProcess(); |
| 1389 return std::numeric_limits<int64_t>::max(); | 1393 return std::numeric_limits<int64_t>::max(); |
| 1390 } | 1394 } |
| 1391 | 1395 |
| 1392 void VCMJitterBuffer::Process() { | 1396 void VCMJitterBuffer::Process() { |
| 1393 if (nack_module_) | 1397 if (nack_module_) |
| 1394 nack_module_->Process(); | 1398 nack_module_->Process(); |
| 1395 } | 1399 } |
| 1396 } // namespace webrtc | 1400 } // namespace webrtc |
| OLD | NEW |