From 04140407243494cb802964a3a842c389193383be Mon Sep 17 00:00:00 2001 From: Yves Gerey Date: Mon, 8 Oct 2018 11:39:18 +0200 Subject: [PATCH] Fix race condition for SupportsFlexfecWithMultithreadedH264/0 test. Guard FakeEncode.last_frame_info_ against concurrent access. Bug: webrtc:9833 Change-Id: Idf36cee15307a64cd79d85f0f65914b516fc6590 Reviewed-on: https://webrtc-review.googlesource.com/c/104500 Reviewed-by: Stefan Holmer Reviewed-by: Ilya Nikolaevskiy Commit-Queue: Yves Gerey Cr-Commit-Position: refs/heads/master@{#25057} --- test/fake_encoder.cc | 1 + test/fake_encoder.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/test/fake_encoder.cc b/test/fake_encoder.cc index bc23c32dd2..9e1e1fe3c5 100644 --- a/test/fake_encoder.cc +++ b/test/fake_encoder.cc @@ -147,6 +147,7 @@ FakeEncoder::FrameInfo FakeEncoder::NextFrame( } } + rtc::CritScope cs(&crit_sect_); for (uint8_t i = 0; i < num_simulcast_streams; ++i) { if (target_bitrate.GetBitrate(i, 0) > 0) { int temporal_id = last_frame_info_.layers.size() > i diff --git a/test/fake_encoder.h b/test/fake_encoder.h index 67acebec69..9eddb0f1d3 100644 --- a/test/fake_encoder.h +++ b/test/fake_encoder.h @@ -71,7 +71,7 @@ class FakeEncoder : public VideoEncoder { SimulcastStream simulcast_streams[kMaxSimulcastStreams], int framerate); - FrameInfo last_frame_info_; + FrameInfo last_frame_info_ RTC_GUARDED_BY(crit_sect_); Clock* const clock_; VideoCodec config_ RTC_GUARDED_BY(crit_sect_);