| 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 972 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 983 | 983 | 
| 984   auto NextProcessTime = [&]() { | 984   auto NextProcessTime = [&]() { | 
| 985     if (rtcp_iterator != incoming_rtcp.end() || | 985     if (rtcp_iterator != incoming_rtcp.end() || | 
| 986         rtp_iterator != outgoing_rtp.end()) { | 986         rtp_iterator != outgoing_rtp.end()) { | 
| 987       return clock.TimeInMicroseconds() + | 987       return clock.TimeInMicroseconds() + | 
| 988              std::max<int64_t>(cc.TimeUntilNextProcess() * 1000, 0); | 988              std::max<int64_t>(cc.TimeUntilNextProcess() * 1000, 0); | 
| 989     } | 989     } | 
| 990     return std::numeric_limits<int64_t>::max(); | 990     return std::numeric_limits<int64_t>::max(); | 
| 991   }; | 991   }; | 
| 992 | 992 | 
| 993   RateStatistics acked_bitrate(1000, 8000); | 993   RateStatistics acked_bitrate(250, 8000); | 
| 994 | 994 | 
| 995   int64_t time_us = std::min(NextRtpTime(), NextRtcpTime()); | 995   int64_t time_us = std::min(NextRtpTime(), NextRtcpTime()); | 
|  | 996   int64_t last_update_us = 0; | 
| 996   while (time_us != std::numeric_limits<int64_t>::max()) { | 997   while (time_us != std::numeric_limits<int64_t>::max()) { | 
| 997     clock.AdvanceTimeMicroseconds(time_us - clock.TimeInMicroseconds()); | 998     clock.AdvanceTimeMicroseconds(time_us - clock.TimeInMicroseconds()); | 
| 998     if (clock.TimeInMicroseconds() >= NextRtcpTime()) { | 999     if (clock.TimeInMicroseconds() >= NextRtcpTime()) { | 
| 999       RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextRtcpTime()); | 1000       RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextRtcpTime()); | 
| 1000       const LoggedRtcpPacket& rtcp = *rtcp_iterator->second; | 1001       const LoggedRtcpPacket& rtcp = *rtcp_iterator->second; | 
| 1001       if (rtcp.type == kRtcpTransportFeedback) { | 1002       if (rtcp.type == kRtcpTransportFeedback) { | 
| 1002         TransportFeedbackObserver* observer = cc.GetTransportFeedbackObserver(); | 1003         TransportFeedbackObserver* observer = cc.GetTransportFeedbackObserver(); | 
| 1003         observer->OnTransportFeedback(*static_cast<rtcp::TransportFeedback*>( | 1004         observer->OnTransportFeedback(*static_cast<rtcp::TransportFeedback*>( | 
| 1004             rtcp.packet.get())); | 1005             rtcp.packet.get())); | 
| 1005         std::vector<PacketInfo> feedback = | 1006         std::vector<PacketInfo> feedback = | 
| (...skipping 24 matching lines...) Expand all  Loading... | 
| 1030         rtc::SentPacket sent_packet( | 1031         rtc::SentPacket sent_packet( | 
| 1031             rtp.header.extension.transportSequenceNumber, rtp.timestamp / 1000); | 1032             rtp.header.extension.transportSequenceNumber, rtp.timestamp / 1000); | 
| 1032         cc.OnSentPacket(sent_packet); | 1033         cc.OnSentPacket(sent_packet); | 
| 1033       } | 1034       } | 
| 1034       ++rtp_iterator; | 1035       ++rtp_iterator; | 
| 1035     } | 1036     } | 
| 1036     if (clock.TimeInMicroseconds() >= NextProcessTime()) { | 1037     if (clock.TimeInMicroseconds() >= NextProcessTime()) { | 
| 1037       RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextProcessTime()); | 1038       RTC_DCHECK_EQ(clock.TimeInMicroseconds(), NextProcessTime()); | 
| 1038       cc.Process(); | 1039       cc.Process(); | 
| 1039     } | 1040     } | 
| 1040     if (observer.GetAndResetBitrateUpdated()) { | 1041     if (observer.GetAndResetBitrateUpdated() || | 
|  | 1042         time_us - last_update_us >= 1e6) { | 
| 1041       uint32_t y = observer.last_bitrate_bps() / 1000; | 1043       uint32_t y = observer.last_bitrate_bps() / 1000; | 
| 1042       float x = static_cast<float>(clock.TimeInMicroseconds() - begin_time_) / | 1044       float x = static_cast<float>(clock.TimeInMicroseconds() - begin_time_) / | 
| 1043                 1000000; | 1045                 1000000; | 
| 1044       time_series.points.emplace_back(x, y); | 1046       time_series.points.emplace_back(x, y); | 
|  | 1047       last_update_us = time_us; | 
| 1045     } | 1048     } | 
| 1046     time_us = std::min({NextRtpTime(), NextRtcpTime(), NextProcessTime()}); | 1049     time_us = std::min({NextRtpTime(), NextRtcpTime(), NextProcessTime()}); | 
| 1047   } | 1050   } | 
| 1048   // Add the data set to the plot. | 1051   // Add the data set to the plot. | 
| 1049   plot->series_list_.push_back(std::move(time_series)); | 1052   plot->series_list_.push_back(std::move(time_series)); | 
| 1050   plot->series_list_.push_back(std::move(acked_time_series)); | 1053   plot->series_list_.push_back(std::move(acked_time_series)); | 
| 1051 | 1054 | 
| 1052   plot->SetXAxis(0, call_duration_s_, "Time (s)", kLeftMargin, kRightMargin); | 1055   plot->SetXAxis(0, call_duration_s_, "Time (s)", kLeftMargin, kRightMargin); | 
| 1053   plot->SetSuggestedYAxis(0, 10, "Bitrate (kbps)", kBottomMargin, kTopMargin); | 1056   plot->SetSuggestedYAxis(0, 10, "Bitrate (kbps)", kBottomMargin, kTopMargin); | 
| 1054   plot->SetTitle("Simulated BWE behavior"); | 1057   plot->SetTitle("Simulated BWE behavior"); | 
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1168     point.y -= estimated_base_delay_ms; | 1171     point.y -= estimated_base_delay_ms; | 
| 1169   // Add the data set to the plot. | 1172   // Add the data set to the plot. | 
| 1170   plot->series_list_.push_back(std::move(time_series)); | 1173   plot->series_list_.push_back(std::move(time_series)); | 
| 1171 | 1174 | 
| 1172   plot->SetXAxis(0, call_duration_s_, "Time (s)", kLeftMargin, kRightMargin); | 1175   plot->SetXAxis(0, call_duration_s_, "Time (s)", kLeftMargin, kRightMargin); | 
| 1173   plot->SetSuggestedYAxis(0, 10, "Delay (ms)", kBottomMargin, kTopMargin); | 1176   plot->SetSuggestedYAxis(0, 10, "Delay (ms)", kBottomMargin, kTopMargin); | 
| 1174   plot->SetTitle("Network Delay Change."); | 1177   plot->SetTitle("Network Delay Change."); | 
| 1175 } | 1178 } | 
| 1176 }  // namespace plotting | 1179 }  // namespace plotting | 
| 1177 }  // namespace webrtc | 1180 }  // namespace webrtc | 
| OLD | NEW | 
|---|