Fix rare race in ViEEncoderTest.UMACpuLimitedResolutionInPercent
The test aims to synchronize by waiting for the last sent frame, using sink_.WaitForEncodedFrame(). Then it stops the vie_encoder instance and finally reset the SendStatsProxy to trigger UMA stats to be registered. The problem is that the callback that triggers WaitForEncodedFrame() to release will call FrameSent() on the overuse detecter just after that, and so it may try to update the stats proxy while it is being deleted. To prevent this, simply destroy the vie_encoder instance too, so that we know that the task queue has been stopped. BUG=None Review-Url: https://codereview.webrtc.org/2720183004 Cr-Commit-Position: refs/heads/master@{#16914}
This commit is contained in:
parent
ba08a140da
commit
f8ee65ead6
@ -1057,8 +1057,9 @@ TEST_F(ViEEncoderTest, UMACpuLimitedResolutionInPercent) {
|
||||
}
|
||||
|
||||
vie_encoder_->Stop();
|
||||
|
||||
vie_encoder_.reset();
|
||||
stats_proxy_.reset();
|
||||
|
||||
EXPECT_EQ(1,
|
||||
metrics::NumSamples("WebRTC.Video.CpuLimitedResolutionInPercent"));
|
||||
EXPECT_EQ(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user