| Summary: | [MSE] SourceBuffer incorrectly emits error when timestamps are negative | ||
|---|---|---|---|
| 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 | ||
Pull request: https://github.com/WebKit/WebKit/pull/20401 Committed 270631@main (711b192dda30): <https://commits.webkit.org/270631@main> Reviewed commits have been landed. Closing PR #20401 and removing active labels. |
In SourceBufferPrivate we can read: ``` // If the decode timestamp is less than the presentation start time, then run the end of stream // algorithm with the error parameter set to "decode", and abort these steps. // NOTE: Until <https://www.w3.org/Bugs/Public/show_bug.cgi?id=27487> is resolved, we will only check // the presentation timestamp. ``` This isn't in the spec. The bug linked to referred to https://dvcs.w3.org/hg/html-media/rev/cb96bc1c87c3 in 2014 which drops the requirement. The was dead code anyway, as the steps prior are about dropping frames that are outside the WindowAppend range, so "If the decode timestamp is less than the presentation start time" will always be false. This allows to drop the sourceBufferPrivateStreamEndedWithDecodeError callback. [1] https://searchfox.org/wubkat/rev/6e975c79b0d4766d80b0421a6dedeae64ca84b63/Source/WebCore/platform/graphics/SourceBufferPrivate.cpp#1020-1029