Bug 272095
| Summary: | Seeking troubles on large WebM files in Safari on mac and iOS | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Brooke Vibber <bvibber> |
| Component: | Media | Assignee: | Jean-Yves Avenard [:jya] <jean-yves.avenard> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | ian, jean-yves.avenard, jer.noble, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 17 | ||
| Hardware: | Unspecified | ||
| OS: | iOS 17 | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=282151 | ||
Brooke Vibber
Testing the new native WebM playback in Safari on iOS 17.4.x I found some seeking difficulties with large files from Wikimedia Commons, which I can also reproduce on macOS 14.4.1 with Safari stock and WebKit nightly.
Example:
https://upload.wikimedia.org/wikipedia/commons/b/bb/House_on_Haunted_Hill_%281959%29_by_William_Castle.webm
2.1 gigabytes, ~75 minutes 1080p WebM VP9/Opus
The file loads and plays back, but if you seek to an area beyond what has loaded so far, things go wonky: it'll seek somewhere in the middle and start playing back high-speed video either with no audio or bad synchronization. Sometimes it eventually catches up, other times it freezes after a while. Sometimes when it starts playing there's visible garbage, like it's decoding from in the middle of a GOP without starting at a keyframe.
As the download progresses, eventually you can seek around most of the file cleanly -- most of the time; sometimes it still gets stuck in fast-play.
It kind of seems like the seeking isn't using the cue data but is approximating a start point based on file size or something, then tries to decode forward -- once things have been buffered the actual timestamps are known and things seem cleaner.
Expected results:
* seeking anywhere in the stream should work as expected and go directly to that frame, with regular playback, even if it takes a short delay to load the cue data or sync up to the requested frame
Actual results:
* seeking to later parts of a file that have not yet been downloaded reliably result in unexpected behavior or image corruption visible on screen.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/125867488>
Jean-Yves Avenard [:jya]
Pull request: https://github.com/WebKit/WebKit/pull/35771
Jean-Yves Avenard [:jya]
Will do the use of cues to seek in https://bugs.webkit.org/show_bug.cgi?id=282151
This PR only fixes that seek could fail and decoding could fail.
Jean-Yves Avenard [:jya]
*** Bug 280207 has been marked as a duplicate of this bug. ***
EWS
Committed 285986@main (617de4cfcf70): <https://commits.webkit.org/285986@main>
Reviewed commits have been landed. Closing PR #35771 and removing active labels.