webrtc/modules/video_coding/codecs
Sergey Silkin 5dd493b3da Do not use PostDelayedTask in video codec tester's pacer
PostDelayedTask doesn't guarantee task execution order. For example,
if you post two tasks, A and B, back-to-back using the same delay
there is no guarantee that A will be executed before B.

Re-implemented pacing using sleep(). Changed pacer to compute task
scheduled time instead of delay. Sleep time is calculated right before
task start. This provides better accuracy by accounting for any delays
that may happen after pacing time is computed and before task queue is
ready to run the task.

It is tricky to implement pacer tests using simulated clocks. The test
use system time which make them flacky on low performance bots. Keep
the test disabled by default.

Bug: b/261160916, webrtc:14852
Change-Id: I88e1a2001e6d33cf3bb7fe16730ec28abf90acc8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291804
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39302}
2023-02-13 15:07:16 +00:00
..
av1 Fill fps allocation for LibaomAv1Encoder correctly 2023-02-09 16:00:55 +00:00
h264 Add 444 10 bits support for H264 and VP9 2023-01-17 12:32:26 +00:00
interface Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED 2021-11-15 21:44:59 +00:00
multiplex Update/delete old TODOs 2022-07-06 07:49:04 +00:00
test Do not use PostDelayedTask in video codec tester's pacer 2023-02-13 15:07:16 +00:00
vp8 [Unwrap] Use RtpTimestampUnwrapper in ScreenshareLayers 2023-01-09 14:38:55 +00:00
vp9 Add 444 10 bits support for H264 and VP9 2023-01-17 12:32:26 +00:00