| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2016 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 | 10 |
| (...skipping 1036 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1047 } | 1047 } |
| 1048 ++rtcp_iterator; | 1048 ++rtcp_iterator; |
| 1049 } | 1049 } |
| 1050 if (clock.TimeInMicroseconds() >= NextRtpTime()) { | 1050 if (clock.TimeInMicroseconds() >= NextRtpTime()) { |
| 1051 RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextRtpTime()); | 1051 RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextRtpTime()); |
| 1052 const LoggedRtpPacket& rtp = *rtp_iterator->second; | 1052 const LoggedRtpPacket& rtp = *rtp_iterator->second; |
| 1053 if (rtp.header.extension.hasTransportSequenceNumber) { | 1053 if (rtp.header.extension.hasTransportSequenceNumber) { |
| 1054 RTC_DCHECK(rtp.header.extension.hasTransportSequenceNumber); | 1054 RTC_DCHECK(rtp.header.extension.hasTransportSequenceNumber); |
| 1055 cc.GetTransportFeedbackObserver()->AddPacket( | 1055 cc.GetTransportFeedbackObserver()->AddPacket( |
| 1056 rtp.header.extension.transportSequenceNumber, rtp.total_length, | 1056 rtp.header.extension.transportSequenceNumber, rtp.total_length, |
| 1057 PacedPacketInfo::kNotAProbe); | 1057 PacedPacketInfo()); |
| 1058 rtc::SentPacket sent_packet( | 1058 rtc::SentPacket sent_packet( |
| 1059 rtp.header.extension.transportSequenceNumber, rtp.timestamp / 1000); | 1059 rtp.header.extension.transportSequenceNumber, rtp.timestamp / 1000); |
| 1060 cc.OnSentPacket(sent_packet); | 1060 cc.OnSentPacket(sent_packet); |
| 1061 } | 1061 } |
| 1062 ++rtp_iterator; | 1062 ++rtp_iterator; |
| 1063 } | 1063 } |
| 1064 if (clock.TimeInMicroseconds() >= NextProcessTime()) { | 1064 if (clock.TimeInMicroseconds() >= NextProcessTime()) { |
| 1065 RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextProcessTime()); | 1065 RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextProcessTime()); |
| 1066 cc.Process(); | 1066 cc.Process(); |
| 1067 } | 1067 } |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1177 } | 1177 } |
| 1178 } | 1178 } |
| 1179 ++rtcp_iterator; | 1179 ++rtcp_iterator; |
| 1180 } | 1180 } |
| 1181 if (clock.TimeInMicroseconds() >= NextRtpTime()) { | 1181 if (clock.TimeInMicroseconds() >= NextRtpTime()) { |
| 1182 RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextRtpTime()); | 1182 RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextRtpTime()); |
| 1183 const LoggedRtpPacket& rtp = *rtp_iterator->second; | 1183 const LoggedRtpPacket& rtp = *rtp_iterator->second; |
| 1184 if (rtp.header.extension.hasTransportSequenceNumber) { | 1184 if (rtp.header.extension.hasTransportSequenceNumber) { |
| 1185 RTC_DCHECK(rtp.header.extension.hasTransportSequenceNumber); | 1185 RTC_DCHECK(rtp.header.extension.hasTransportSequenceNumber); |
| 1186 feedback_adapter.AddPacket(rtp.header.extension.transportSequenceNumber, | 1186 feedback_adapter.AddPacket(rtp.header.extension.transportSequenceNumber, |
| 1187 rtp.total_length, | 1187 rtp.total_length, PacedPacketInfo()); |
| 1188 PacedPacketInfo::kNotAProbe); | |
| 1189 feedback_adapter.OnSentPacket( | 1188 feedback_adapter.OnSentPacket( |
| 1190 rtp.header.extension.transportSequenceNumber, rtp.timestamp / 1000); | 1189 rtp.header.extension.transportSequenceNumber, rtp.timestamp / 1000); |
| 1191 } | 1190 } |
| 1192 ++rtp_iterator; | 1191 ++rtp_iterator; |
| 1193 } | 1192 } |
| 1194 time_us = std::min(NextRtpTime(), NextRtcpTime()); | 1193 time_us = std::min(NextRtpTime(), NextRtcpTime()); |
| 1195 } | 1194 } |
| 1196 // We assume that the base network delay (w/o queues) is the min delay | 1195 // We assume that the base network delay (w/o queues) is the min delay |
| 1197 // observed during the call. | 1196 // observed during the call. |
| 1198 for (TimeSeriesPoint& point : time_series.points) | 1197 for (TimeSeriesPoint& point : time_series.points) |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1270 } | 1269 } |
| 1271 } | 1270 } |
| 1272 } | 1271 } |
| 1273 | 1272 |
| 1274 plot->SetXAxis(0, call_duration_s_, "Time (s)", kLeftMargin, kRightMargin); | 1273 plot->SetXAxis(0, call_duration_s_, "Time (s)", kLeftMargin, kRightMargin); |
| 1275 plot->SetSuggestedYAxis(0, 1, "Timestamp (90khz)", kBottomMargin, kTopMargin); | 1274 plot->SetSuggestedYAxis(0, 1, "Timestamp (90khz)", kBottomMargin, kTopMargin); |
| 1276 plot->SetTitle("Timestamps"); | 1275 plot->SetTitle("Timestamps"); |
| 1277 } | 1276 } |
| 1278 } // namespace plotting | 1277 } // namespace plotting |
| 1279 } // namespace webrtc | 1278 } // namespace webrtc |
| OLD | NEW |