[crd host] Fix garbled frame stats for extrapolated frames The frame stats is created by WebrtcVideoStream as WebrtcVideoStream::FrameStats. However, when WebrtcVideoEncoderWrapper creates a copy of it for extrapolated frames, it uses the copy ctor of WebrtcVideoEncoder::FrameStats, which is missing some fields. When WebrtcVideoStream gets back the frame stats, it down-casts it to WebrtcVideoStream::FrameStats, which causes out-of-bound reads. This CL fixes the bug by introducing a Duplicate() virtual method that allows the frame stats to be duplicated with the correct type. Bug: 437300468 Change-Id: I2cc9d19b4337923c41ae12b46b93b55cd804c6f1 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6832184 Auto-Submit: Yuwei Huang <yuweih@chromium.org> Reviewed-by: Joe Downing <joedow@chromium.org> Commit-Queue: Joe Downing <joedow@chromium.org> Cr-Commit-Position: refs/heads/main@{#1499232}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure.
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.