From 175b723ce99acbaeea36c531840b186f7f66f3d8 Mon Sep 17 00:00:00 2001 From: Andrey Logvin Date: Mon, 25 Jan 2021 15:10:28 +0000 Subject: [PATCH] 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 Reviewed-by: Artem Titov Cr-Commit-Position: refs/heads/master@{#33563} --- test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc index e7aae4bc70..9b18f6fee9 100644 --- a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc +++ b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc @@ -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(); }