Improve threading annotations in `RenderingTracker`. Bug: b/423646186 Change-Id: Ibb174296f6f48460946f286af8da729634f50a84 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/481360 Auto-Submit: Rasmus Brandt <brandtr@webrtc.org> Commit-Queue: Åsa Persson <asapersson@webrtc.org> Reviewed-by: Åsa Persson <asapersson@webrtc.org> Cr-Commit-Position: refs/heads/main@{#48016}
diff --git a/video/timing/simulator/rendering_tracker.cc b/video/timing/simulator/rendering_tracker.cc index 88fcbcd..b84a79c 100644 --- a/video/timing/simulator/rendering_tracker.cc +++ b/video/timing/simulator/rendering_tracker.cc
@@ -173,12 +173,14 @@ } void RenderingTracker::OnDroppedFrames(uint32_t frames_dropped) { + RTC_DCHECK_RUN_ON(&sequence_checker_); vsbc_frames_dropped_ = frames_dropped; } void RenderingTracker::OnDecodableFrame(TimeDelta jitter_buffer_delay, TimeDelta jitter_buffer_target_delay, TimeDelta jitter_buffer_minimum_delay) { + RTC_DCHECK_RUN_ON(&sequence_checker_); vsbc_decodable_stats_ = VideoStreamBufferControllerObserverDecodableStats{ .jitter_buffer_delay = jitter_buffer_delay, .jitter_buffer_target_delay = jitter_buffer_target_delay, @@ -200,6 +202,7 @@ } void RenderingTracker::ResetVideoStreamBufferControllerObserverStats() { + RTC_DCHECK_RUN_ON(&sequence_checker_); vsbc_frames_dropped_.reset(); vsbc_decodable_stats_.reset(); }
diff --git a/video/timing/simulator/rendering_tracker.h b/video/timing/simulator/rendering_tracker.h index 7acaf48..87d3dda 100644 --- a/video/timing/simulator/rendering_tracker.h +++ b/video/timing/simulator/rendering_tracker.h
@@ -122,9 +122,9 @@ // Stats state. This is needed since the stats and the decodable frame are // provided by the VSBC on different callbacks, but we want to log the // the corresponding information simultaneously to our callback. - std::optional<int> vsbc_frames_dropped_; + std::optional<int> vsbc_frames_dropped_ RTC_GUARDED_BY(sequence_checker_); std::optional<VideoStreamBufferControllerObserverDecodableStats> - vsbc_decodable_stats_; + vsbc_decodable_stats_ RTC_GUARDED_BY(sequence_checker_); // Outputs. RenderingTrackerEvents& observer_;