Split from https://webrtc-review.googlesource.com/c/src/+/318283 to reduce CL size. Takes a different and (hopefully) simpler approach. BUG=webrtc:15579 Change-Id: I8517ffbeb0f0a76db80e3e367de727fb6976211d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325023 Commit-Queue: Philipp Hancke <phancke@microsoft.com> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Tony Herre <herre@google.com> Cr-Commit-Position: refs/heads/main@{#41073}