- From: <bugzilla@jessica.w3.org>
- Date: Sun, 08 Feb 2015 10:07:01 +0000
- To: public-html-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=27980
Bug ID: 27980
Summary: [MSE] Ambiguous behaviour when running
sourcebuffer.abort()
Product: HTML WG
Version: unspecified
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P2
Component: Media Source Extensions
Assignee: adrianba@microsoft.com
Reporter: jyavenard@mozilla.com
QA Contact: public-html-bugzilla@w3.org
CC: mike@w3.org, public-html-media@w3.org
http://w3c.github.io/media-source/#widl-SourceBuffer-abort-void
as of 2015-02-08
3.2 Methods: abort() states
"If the updating attribute equals true, then run the following steps:
Abort the buffer append and stream append loop algorithms if they are
running.
Set the updating attribute to false.
Queue a task to fire a simple event named abort at this SourceBuffer
object.
Queue a task to fire a simple event named updateend at this SourceBuffer
object.
"
So abort() should abort buffer append and stream append loop algorithm
However:
3.4 Event Summary
we have:
"The append or remove was aborted by an abort() call. updating transitions from
true to false."
So here, abort() can abort the remove() operation.
Now, there's an ambiguous case.
What needs to be done when you do something like:
mediasource.duration = X
sourceBuffer.abort()
setting mediasource.duration is to run the range remove algorithm which will
fire updatestart then later update/updateend
abort() is to fire abort/updateend
If we follow the spec to the letter, and abort doesn't abort then range removal
algorithm.
We should have then:
updatestart
abort
updateend
and once range removal algorithm gets to run:
update
updateend
Chrome fires:
updatestart
abort
updateend
IE11:
updatestart
update
updateend
For both browsers, range removal algorithm has been run and the sourcebuffer
buffered range is now { 0 , 5 }
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Sunday, 8 February 2015 10:07:04 UTC