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 |