[media-source] Add garbage collection modes to SourceBuffer (#232)

wolenetz has just created a new issue for https://github.com/w3c/media-source:

== Add garbage collection modes to SourceBuffer ==
[Initially discussed](https://github.com/w3c/media-source/issues/21#issuecomment-236889126) in the context of low-latency, live streaming of infinite GOPs (e.g. just one keyframe, followed by a bunch of non-keyframes) not supported by MSE's GOP-based range removal algorithm, subsequent discussion in a Chrome/Firefox face-to-face in May 2018, FOMS 2018 ([day 1](http://www.foms-workshop.org/foms2018/pmwiki.php/Site/MSE), [day 2](http://www.foms-workshop.org/foms2018/pmwiki.php/Site/LL-MSE), and FOMS 2019 - especially in the multi-browser face-to-face that occured in March 2019, this issue tracks the incubation work necessary to include new features in MSE vNext that seeks to:
1) allow web applications to configure MSE SourceBuffers to buffer "infinite" GOPs, including pre-emptively (not just at appendBuffer or remove() time) performing garbage collection ("coded frame eviction") of media within the currently playing GOP that has not yet been played while letting the remainder of the GOP continue to play, though with consequent reduction in capability for reliable suspend/resume/seeking if necessary coded frames to establish resumption after suspension or to finalize the seek are no longer buffered,
2) allow web applications to configure MSE SourceBuffers to more aggressively evict buffered media, pre-emptively, at the implementation's discretion (e.g., due to memory pressure), again with consequent reduction in capability for reliable suspend/resume/seeking.
3) give implementations greater control over the default mode of any SourceBuffer, and constrain the set of all possible modes available to the application. For instance, some implementations may not support pre-emptive GC; others may require it.

Like other vNext MSE incubations, I expect to publish an explainer/proposal soon in a branch in the [WICG MSE repo](https://github.com/wicg/media-source), and use this issue in this upstream  w3c repo to track discussion and feedback throughout.

Please view or discuss this issue at https://github.com/w3c/media-source/issues/232 using your GitHub account

Received on Thursday, 16 May 2019 01:14:49 UTC