Bug 269203
| Summary: | [GStreamer] Buffer end equals video duration for progressive video | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Enrique Ocaña <eocanha> |
| Component: | Media | Assignee: | Enrique Ocaña <eocanha> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Enrique Ocaña
On some long regular videos, the current buffer management mechanism reports 100% of the video as loaded when that's not actually happening. This causes document.getElementsByTagName('video')[0].buffered.end(0) to be equal to document.getElementsByTagName('video')[0].duration when that should clearly not the case.
The current default way of computing m_maxTimeLoaded isn't working properly because oftern, when the buffering messages are received by MediaPlayerPrivateGStreamer, the duration is still unknown and the code in charge of computing the fill status bails out.
The WebKitWebSrc network downloading statistics provide a much more accurate source of information for the buffered data, and should be used in more cases when available. The download statistics tend to arrive later than the buffer fill messages and at that moment duration is already available, leading to a proper computation of m_maxTimeLoaded.
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1238
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Enrique Ocaña
Pull request: https://github.com/WebKit/WebKit/pull/24257
EWS
Committed 274643@main (3e214abe9459): <https://commits.webkit.org/274643@main>
Reviewed commits have been landed. Closing PR #24257 and removing active labels.
Radar WebKit Bug Importer
<rdar://problem/122961086>