- From: <bugzilla@jessica.w3.org>
- Date: Fri, 25 Jul 2014 18:13:19 +0000
- To: public-html-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=26436
Bug ID: 26436
Summary: [MSE] SourceBuffer Monitoring algorithm can cause
stall after endOfStream()
Product: HTML WG
Version: unspecified
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P2
Component: Media Source Extensions
Assignee: adrianba@microsoft.com
Reporter: jer.noble@apple.com
QA Contact: public-html-bugzilla@w3.org
CC: mike@w3.org, public-html-media@w3.org
After MediaSource.endOfStream() is called, the duration of the media is
extended to the highest reported buffered range of each SourceBuffer in
MediaSource.sourceBuffers:
"2.4.7 End of stream algorithm"
"3. If error is not set"
"3.1. Run the duration change algorithm with new duration set to the highest
end time reported by the buffered attribute across all SourceBuffer objects in
sourceBuffers."
Also, the buffered ranges returned by HTMLMediaElement.buffered are modified to
include these "virtual" buffered ranges:
"9. HTMLMediaElement Extensions"
"5. For each SourceBuffer object in activeSourceBuffers run the following
steps:"
"5.2. If readyState is "ended", then set the end time on the last range in
source ranges to highest end time."
But the checks in "SourceBuffer Monitoring" use only the original, unmodified
buffered ranges:
"2.4.4 SourceBuffer Monitoring"
"If buffered for at least one object in activeSourceBuffers contains a
TimeRange that ends at the current playback position and does not have a range
covering the time immediately after the current position:"
"1. Set the HTMLMediaElement.readyState attribute to HAVE_CURRENT_DATA."
This causes playback to stall, and will typically occur at the end of a stream,
after endOfStream() is called, when 2 or more SourceBuffers of fractionally
different buffered lengths are active. It is exceedingly unlikely that streams
of different types (audio, video) will have exactly the same duration, due to
the relative sample durations of each media type.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Friday, 25 July 2014 18:13:21 UTC