[Bug 21172] New: User agents should automatically evict content when the buffer is full if possible

https://www.w3.org/Bugs/Public/show_bug.cgi?id=21172

            Bug ID: 21172
           Summary: User agents should automatically evict content when
                    the buffer is full if possible
    Classification: Unclassified
           Product: HTML WG
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Media Source Extensions
          Assignee: adrianba@microsoft.com
          Reporter: adrianba@microsoft.com
        QA Contact: public-html-bugzilla@w3.org
                CC: mike@w3.org, public-html-media@w3.org

Problem Description:  Currently, web pages unnecessarily have to deal with
SourceBuffer full conditions.  The February 05 editors draft allows
implementers to impose limits of their own choosing on buffer depth and then
issue a QUOTA_EXCEEDED_ERR on appends if the buffer_full_flag is set to true. 
When this happens, the spec states that "the web application must use remove()
to free up space in the SourceBuffer" in the Notes.  This unnecessarily imposes
buffer maintenance tasks on web clients, which will lead to common developer
errors and complicate producing interoperable web applications.  

Some buffer maintenance should be done by the user agent.  This would leave web
pages to respond to QUOTA_EXCEEDED_ERR errors only when they have elected to
fill future data up to the buffer size limit.  The error then provides
meaningful information that the web application must accommodate in its
operation.  Purging content from the buffer can and should be automatic
whenever possible.

Proposed Change: Add a requirement that content should be purged from the
SourceBuffer when the buffer full condition is encountered, and throw the
QUOTA_EXCEEDED_ERR only when the user agent determines that insufficient data
may be purged to prevent the current append from exceeding the buffer capacity. 

- Section 4.2: appendArrayBuffer and appendStream:  Modify step 6 from:   
"If the buffer full flag equals true, then throw a QUOTA_EXCEEDED_ERR exception
and abort these step.
Note:  The web application must use remove() to free up space in the
SourceBuffer.The web application must use remove() to free up space in the
SourceBuffer."

To:
"If the buffer full flag equals true, then remove content when possible from
the SourceBuffer.  Data must be removed during the Append and prior to Update
to avoid conflicts with subsequent append or remove operations.  If not
possible, then throw a QUOTA_EXCEEDED_ERR exception and abort these steps.
Note:  The web application should use the QUOTA_EXCEEDED_ERR to manage the
depth of buffer appends."

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Received on Saturday, 2 March 2013 01:29:54 UTC