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 |