Reland "Cleanup of RTP references in GoogCC implementation."
This is a reland of fa79081dca9faa8322943641352d9d2fd1b1b445 It crashed due to inability to handle small timestamps in probe estimator. This was fixed by moving history window check to avoid subtracting from the timestamp. Original change's description: > Cleanup of RTP references in GoogCC implementation. > > As the send time congestion controller now has been removed, > we don't need the RTP related constructs anymore. > > Bug: webrtc:9510 > Change-Id: I02c059ed8ae907ab4672d183c5639ad459b581aa > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142221 > Commit-Queue: Sebastian Jansson <srte@webrtc.org> > Reviewed-by: Björn Terelius <terelius@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#28330} Bug: webrtc:9510 Change-Id: I3bf91222068e4fbb6aa159bfeb7a73e00bb6a0d7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143165 Reviewed-by: Björn Terelius <terelius@webrtc.org> Commit-Queue: Sebastian Jansson <srte@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28347}
This commit is contained in:

committed by
Commit Bot

parent
746dd0dbe6
commit
88290ae358
@ -71,14 +71,6 @@ namespace {
|
||||
|
||||
const int kNumMicrosecsPerSec = 1000000;
|
||||
|
||||
void SortPacketFeedbackVector(std::vector<PacketFeedback>* vec) {
|
||||
auto pred = [](const PacketFeedback& packet_feedback) {
|
||||
return packet_feedback.arrival_time_ms == PacketFeedback::kNotReceived;
|
||||
};
|
||||
vec->erase(std::remove_if(vec->begin(), vec->end(), pred), vec->end());
|
||||
std::sort(vec->begin(), vec->end(), PacketFeedbackComparator());
|
||||
}
|
||||
|
||||
std::string SsrcToString(uint32_t ssrc) {
|
||||
rtc::StringBuilder ss;
|
||||
ss << "SSRC " << ssrc;
|
||||
@ -1316,16 +1308,16 @@ void EventLogAnalyzer::CreateSendSideBweSimulationGraph(Plot* plot) {
|
||||
absl::optional<uint32_t> bitrate_bps;
|
||||
if (feedback_msg) {
|
||||
observer.Update(goog_cc->OnTransportPacketsFeedback(*feedback_msg));
|
||||
std::vector<PacketFeedback> feedback =
|
||||
transport_feedback.GetTransportFeedbackVector();
|
||||
SortPacketFeedbackVector(&feedback);
|
||||
std::vector<PacketResult> feedback =
|
||||
feedback_msg->SortedByReceiveTime();
|
||||
if (!feedback.empty()) {
|
||||
#if !(BWE_TEST_LOGGING_COMPILE_TIME_ENABLE)
|
||||
acknowledged_bitrate_estimator.IncomingPacketFeedbackVector(feedback);
|
||||
#endif // !(BWE_TEST_LOGGING_COMPILE_TIME_ENABLE)
|
||||
for (const PacketFeedback& packet : feedback)
|
||||
acked_bitrate.Update(packet.payload_size, packet.arrival_time_ms);
|
||||
bitrate_bps = acked_bitrate.Rate(feedback.back().arrival_time_ms);
|
||||
for (const PacketResult& packet : feedback)
|
||||
acked_bitrate.Update(packet.sent_packet.size.bytes(),
|
||||
packet.receive_time.ms());
|
||||
bitrate_bps = acked_bitrate.Rate(feedback.back().receive_time.ms());
|
||||
}
|
||||
}
|
||||
|
||||
@ -1333,7 +1325,9 @@ void EventLogAnalyzer::CreateSendSideBweSimulationGraph(Plot* plot) {
|
||||
float y = bitrate_bps.value_or(0) / 1000;
|
||||
acked_time_series.points.emplace_back(x, y);
|
||||
#if !(BWE_TEST_LOGGING_COMPILE_TIME_ENABLE)
|
||||
y = acknowledged_bitrate_estimator.bitrate_bps().value_or(0) / 1000;
|
||||
y = acknowledged_bitrate_estimator.bitrate()
|
||||
.value_or(DataRate::Zero())
|
||||
.kbps();
|
||||
acked_estimate_time_series.points.emplace_back(x, y);
|
||||
#endif // !(BWE_TEST_LOGGING_COMPILE_TIME_ENABLE)
|
||||
++rtcp_iterator;
|
||||
|
Reference in New Issue
Block a user