[Webkit-unassigned] [Bug 225630] [MSE] QuotaExceededError Exception not thrown even if the sum of totalTrackBufferSize and appendBuffer size exceeds maximumBufferSize.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jun 7 00:42:54 PDT 2021


https://bugs.webkit.org/show_bug.cgi?id=225630

--- Comment #9 from Jean-Yves Avenard [:jya] <jya at apple.com> ---
To add.

The issue here is a spec issue.

We are to reject a buffer only once we know that the source buffer is full.
The first appendBuffer should always complete.

https://w3c.github.io/media-source/#sourcebuffer-buffer-full-flag
"The buffer full flag keeps track of whether appendBuffer() is allowed to accept more bytes. It is set to false when the SourceBuffer object is created and gets updated as data is appended and removed."

"buffer full flag" only gets modified to true in the 3.5.1 Segment Parser Loop algorithm, step 6.3
https://w3c.github.io/media-source/#sourcebuffer-segment-parser-loop
"If this SourceBuffer is full and cannot accept more media data, then set the buffer full flag to true."

On the 2nd call to the appendBuffer, in the Prepare Append algorithm, step 3.5.4.6:
https://w3c.github.io/media-source/#sourcebuffer-prepare-append

"If the buffer full flag equals true, then throw a QuotaExceededError exception and abort these steps."

This change as such, made the WebKit implementation non-compliant. 

However, I can understand why this change would be desired.

I will have a follow-up bug to rework how we handle source buffer size and checking capacity. It will make it easier to toggle between the two behaviours if needed (one before and after this fix)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210607/04ca0fdd/attachment.htm>


More information about the webkit-unassigned mailing list