mirror of
https://github.com/HeyPuter/firefox.git
synced 2026-11-13 20:14:57 -10:00
Automatic update from web-platform-tests [WebCodecs] Implement keyframe enforcement for flush, configure. This change checks that the first encoded chunk after a flush() or configure() is a keyframe. For AV1, VP8, VP9, and H.264 the bitstream is analyzed to ensure the packet is actually a key frame. Since Chromium doesn't have a Theora or xHE-AAC parser, no analysis is done for those codecs beyond checking that the type field is set to 'key'. On platforms without libvpx or libaom, we will also skip bitstream analysis. I originally wrote this change using the media::Vp8Parser and media::Vp9Parser classes, but since they are not currently used on Android that brings in 16k+ of binary size. As such I've switched to using libvpx for bitstream analysis. This change also adds AV1 and VP8 to our list of tested codecs. This change also fixes an issue with the AudioEncoder where it was marking all frames as delta frames instead of keyframes. Fixed: 1213680 Change-Id: Ibd8fb9daeb6519c8a72aec66bdc4711261113e28 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2921021 Commit-Queue: Dale Curtis <[email protected]> Reviewed-by: James Zern <[email protected]> Reviewed-by: Chrome Cunningham <[email protected]> Cr-Commit-Position: refs/heads/master@{#890463} -- wpt-commits: b53f779b059f9c04c4f72555596fb754ac08274b wpt-pr: 29242
12 KiB
12 KiB