MediaStreamAPI: Difference between revisions

Line 49: Line 49:
*Not seekable, resettable etc. The window moves forward automatically in real time (or close to it).  
*Not seekable, resettable etc. The window moves forward automatically in real time (or close to it).  
*A stream can be "blocked". While it's blocked, its timeline and data window does not advance.
*A stream can be "blocked". While it's blocked, its timeline and data window does not advance.
*A stream can be "ended". While it's ended, it must also be blocked. An ended stream will not normally produce data in the future (although it might if the source is reset somehow).


We do not allow streams to have independent timelines (e.g. no adjustable playback rate or seeking within an arbitrary Stream), because that leads to a single Stream being consumed at multiple different offsets at the same time, which requires either unbounded buffering or multiple internal decoders and streams for a single Stream. It seems simpler and more predictable in performance to require authors to create multiple streams (if necessary) and change the playback rate in the original stream sources.
We do not allow streams to have independent timelines (e.g. no adjustable playback rate or seeking within an arbitrary Stream), because that leads to a single Stream being consumed at multiple different offsets at the same time, which requires either unbounded buffering or multiple internal decoders and streams for a single Stream. It seems simpler and more predictable in performance to require authors to create multiple streams (if necessary) and change the playback rate in the original stream sources.
1,295

edits