Bug 314723
| Summary: | [MSE] Narrow processMediaSample's decode-key cleanup to true orphans and equal-key replacement | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Jean-Yves Avenard [:jya] <jean-yves.avenard> |
| Component: | Media | Assignee: | Jean-Yves Avenard [:jya] <jean-yves.avenard> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Jean-Yves Avenard [:jya]
Address a latent gap in MSE "Coded Frame Processing" step 1.15 and tighten
the B-frame DTS re-key guard it sits next to. The gap: samples whose decode
key lies in
[incoming.decodeKey, erasedSamples.decodeOrder().begin()->first)
survive both step 1.14's sync cascade (which uses findSampleAfterDecodeKey
= upper_bound, strictly greater) and step 1.15's main dependents sweep
(which starts at erasedSamples.begin()). The block originally added in
205636@main covered this gap, but its range was too wide (lower_bound
inclusive on both ends), so it also erased legitimate next-GOP samples
when the cascade had deliberately broken early on a sync whose pts was
greater than the incoming sample's.
Spec issues were lodged as
https://github.com/w3c/media-source/issues/374
and https://github.com/w3c/media-source/issues/375
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/176971800>
Jean-Yves Avenard [:jya]
Pull request: https://github.com/WebKit/WebKit/pull/64888
EWS
Committed 313296@main (9d7e16e79a52): <https://commits.webkit.org/313296@main>
Reviewed commits have been landed. Closing PR #64888 and removing active labels.