Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: webrtc/tools/event_log_visualizer/analyzer.cc

Issue 2638083002: Attach TransportFeedbackPacketLossTracker to ANA (PLR only) (Closed)
Patch Set: event_log_visualizer Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 1077 matching lines...) Expand 10 before | Expand all | Expand 10 after
1088 1000000; 1088 1000000;
1089 acked_time_series.points.emplace_back(x, y); 1089 acked_time_series.points.emplace_back(x, y);
1090 } 1090 }
1091 ++rtcp_iterator; 1091 ++rtcp_iterator;
1092 } 1092 }
1093 if (clock.TimeInMicroseconds() >= NextRtpTime()) { 1093 if (clock.TimeInMicroseconds() >= NextRtpTime()) {
1094 RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextRtpTime()); 1094 RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextRtpTime());
1095 const LoggedRtpPacket& rtp = *rtp_iterator->second; 1095 const LoggedRtpPacket& rtp = *rtp_iterator->second;
1096 if (rtp.header.extension.hasTransportSequenceNumber) { 1096 if (rtp.header.extension.hasTransportSequenceNumber) {
1097 RTC_DCHECK(rtp.header.extension.hasTransportSequenceNumber); 1097 RTC_DCHECK(rtp.header.extension.hasTransportSequenceNumber);
1098 cc.AddPacket(rtp.header.extension.transportSequenceNumber, 1098 cc.AddPacket(rtp.header.ssrc,
1099 rtp.header.extension.transportSequenceNumber,
1099 rtp.total_length, PacedPacketInfo()); 1100 rtp.total_length, PacedPacketInfo());
1100 rtc::SentPacket sent_packet( 1101 rtc::SentPacket sent_packet(
1101 rtp.header.extension.transportSequenceNumber, rtp.timestamp / 1000); 1102 rtp.header.extension.transportSequenceNumber, rtp.timestamp / 1000);
1102 cc.OnSentPacket(sent_packet); 1103 cc.OnSentPacket(sent_packet);
1103 } 1104 }
1104 ++rtp_iterator; 1105 ++rtp_iterator;
1105 } 1106 }
1106 if (clock.TimeInMicroseconds() >= NextProcessTime()) { 1107 if (clock.TimeInMicroseconds() >= NextProcessTime()) {
1107 RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextProcessTime()); 1108 RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextProcessTime());
1108 cc.Process(); 1109 cc.Process();
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
1189 time_series.points.emplace_back(x, y); 1190 time_series.points.emplace_back(x, y);
1190 } 1191 }
1191 } 1192 }
1192 ++rtcp_iterator; 1193 ++rtcp_iterator;
1193 } 1194 }
1194 if (clock.TimeInMicroseconds() >= NextRtpTime()) { 1195 if (clock.TimeInMicroseconds() >= NextRtpTime()) {
1195 RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextRtpTime()); 1196 RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextRtpTime());
1196 const LoggedRtpPacket& rtp = *rtp_iterator->second; 1197 const LoggedRtpPacket& rtp = *rtp_iterator->second;
1197 if (rtp.header.extension.hasTransportSequenceNumber) { 1198 if (rtp.header.extension.hasTransportSequenceNumber) {
1198 RTC_DCHECK(rtp.header.extension.hasTransportSequenceNumber); 1199 RTC_DCHECK(rtp.header.extension.hasTransportSequenceNumber);
1199 feedback_adapter.AddPacket(rtp.header.extension.transportSequenceNumber, 1200 feedback_adapter.AddPacket(rtp.header.ssrc,
1201 rtp.header.extension.transportSequenceNumber,
1200 rtp.total_length, PacedPacketInfo()); 1202 rtp.total_length, PacedPacketInfo());
1201 feedback_adapter.OnSentPacket( 1203 feedback_adapter.OnSentPacket(
1202 rtp.header.extension.transportSequenceNumber, rtp.timestamp / 1000); 1204 rtp.header.extension.transportSequenceNumber, rtp.timestamp / 1000);
1203 } 1205 }
1204 ++rtp_iterator; 1206 ++rtp_iterator;
1205 } 1207 }
1206 time_us = std::min(NextRtpTime(), NextRtcpTime()); 1208 time_us = std::min(NextRtpTime(), NextRtcpTime());
1207 } 1209 }
1208 // We assume that the base network delay (w/o queues) is the min delay 1210 // We assume that the base network delay (w/o queues) is the min delay
1209 // observed during the call. 1211 // observed during the call.
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
1369 return rtc::Optional<float>(); 1371 return rtc::Optional<float>();
1370 }); 1372 });
1371 plot->series_list_.back().label = "Audio encoder number of channels"; 1373 plot->series_list_.back().label = "Audio encoder number of channels";
1372 plot->SetXAxis(0, call_duration_s_, "Time (s)", kLeftMargin, kRightMargin); 1374 plot->SetXAxis(0, call_duration_s_, "Time (s)", kLeftMargin, kRightMargin);
1373 plot->SetSuggestedYAxis(0, 1, "Number of channels (1 (mono)/2 (stereo))", 1375 plot->SetSuggestedYAxis(0, 1, "Number of channels (1 (mono)/2 (stereo))",
1374 kBottomMargin, kTopMargin); 1376 kBottomMargin, kTopMargin);
1375 plot->SetTitle("Reported audio encoder number of channels"); 1377 plot->SetTitle("Reported audio encoder number of channels");
1376 } 1378 }
1377 } // namespace plotting 1379 } // namespace plotting
1378 } // namespace webrtc 1380 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698