whatwg / whatwg/html

Buffered ranges should be defined as time ranges that can be played without requiring download of more data

Open
#360 15 comments 0 reactions 1 assignee View on GitHub

@cpearce is already working on this.

Since Feb 4, 2016.

topic: media
Dominant language
HTML
Stars
9.4k
Forks
3.2k
Avg merge
3d 9h
Merged PRs (30d)
38

Description

https://html.spec.whatwg.org/multipage/embedded-content.html#loading-the-media-resource

The buffered attribute must return a new static normalised TimeRanges object that represents the ranges of the media resource, if any, that the user agent has buffered, at the time the attribute is evaluated. Users agents must accurately determine the ranges available, even for media streams where this can only be determined by tedious inspection.

The buffered ranges should be defined as the region of the Media Resource which is downloaded and which is playable without needing to download any more data.

For example, since the useragent may discard already downloaded media resource data, the UA could end up discarding the keyframe required to decode a block of downloaded data. In this case, I'd argue that we should no longer report the remaining p-frames that depend on the discarded keyframe as buffered in the buffered ranges, since we can't effectively play them without downloading more data.

The spec doesn't actually define whether the buffered ranges have to be playable. If we decide not to require buffered ranges to be playable (which I think is a bad idea), then we should explicitly add that to the spec to so that there is no ambiguity.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.