Add clarification comment about removing FrameInFlight objects in case of to adding a peer in runtime

RuntimeParticipantsAdding covers the described behaviour: "EXPECT_EQ(frames_in_flight_sizes.back().value, 0)"

Bug: webrtc:12247
Change-Id: I296c607d3b7fb9f337b887347e60ccfc0e042143
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203524
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33563}
This commit is contained in:
Andrey Logvin 2021-01-25 15:10:28 +00:00 committed by Commit Bot
parent c964d80e3d
commit 175b723ce9

View File

@ -527,6 +527,10 @@ void DefaultVideoQualityAnalyzer::RegisterParticipantInCall(
key_val.second.AddPeer();
}
// Register new peer for every frame in flight.
// It is guaranteed, that no garbadge FrameInFlight objects will stay in
// memory because of adding new peer. Even if the new peer won't receive the
// frame, the frame will be removed by OnFrameRendered after next frame comes
// for the new peer. It is important because FrameInFlight is a large object.
for (auto& key_val : captured_frames_in_flight_) {
key_val.second.AddPeer();
}