Hello blink-dev, We'd like to ask for an extension to our Origin Trial, from M99 to M103.
There are two reasons extension is necessary: 1) A breaking error discovered in the middle of the trial (see https://crbug.com/1268614) caused participation to drop before the 2021 holiday period. While the fix landed by early 2022 and at least one participant has reported excellent improvement in metrics in their experiment since then, further stabilization is desired. 2) An API change for this feature (using srcObject for MSE-in-Workers attachments instead of baking in objectURL attachment further) was agreed with the media workgroup last September [1] following the previous objectURL-based attachment design getting more recent feedback [2], and I'm working on getting that into both the feature spec and Chromium's experimental implementation currently for rapid experimentation during the extended trial. [1] https://www.w3.org/2021/09/14-mediawg-minutes.html [2] https://github.com/mozilla/standards-positions/issues/547 Please find the Chrome status template, below: Contact emailswolen...@chromium.org Explainer https://github.com/wicg/media-source/blob/mse-in-workers-using-handle/mse-in-workers-using-handle-explainer.md Specificationhttps://github.com/w3c/media-source/pull/282 Summary Enable Media Source Extensions (MSE) API usage from DedicatedWorker contexts to enable improved performance of buffering media for playback by an HTMLMediaElement on the main Window context. By creating a MediaSource object on a DedicatedWorker context, an application may then create an ObjectURL for it and postMessage that URL to the main thread for use in attaching to an HTMLMediaElement. The context that created the MediaSource object may then use it to buffer media. Blink componentBlink>Media <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EMedia> Search tagsMSE <https://chromestatus.com/features#tags:MSE>, MediaSource <https://chromestatus.com/features#tags:MediaSource>, MediaSourceExtensions <https://chromestatus.com/features#tags:MediaSourceExtensions> TAG reviewhttps://github.com/w3ctag/design-reviews/issues/656 TAG review statusIssues addressed Risks Interoperability and Compatibility Main interoperability risk is that other browsers may not implement it. Compatibility risk is mitigated by unchanged same-thread MSE API support and proactive feature-detectability of MSE-in-Workers with a new canConstructInDedicatedWorker attribute on the MediaSource interface. Gecko: No signal (https://github.com/mozilla/standards-positions/issues/547) WebKit: No signal ( https://lists.webkit.org/pipermail/webkit-dev/2021-June/031916.html) Web developers: No signals Other signals: Ergonomics DedicatedWorker, WorkerGlobalScope and postMessage/onmessage availability is integral to using this feature. Activation The primary risk is the potential difficulty in refactoring existing MSE web applications to (conditionally, depending on browser support) perform buffering in a different execution context from the Window context that hosts the DOM and the media element. The benefit of potentially improved buffering performance by offloading the MSE API usage to a worker context provides motivation to overcome this challenge. Security Unpredictability of racing context destruction of either the main thread hosting the media element (and owning the underlying MSE media demuxer and player) or the dedicated worker thread hosting the interface to the MSE demuxer when using MSE from a worker context motivated careful design of a refcounted, outside-of-Oilpan, attachment abstraction to ensure safety of operations using locks and having a lifetime that exceeds those execution contexts. Preventing use-after-free and similar was a primary complexity of implementation and a focus area of added tests. Goals for experimentation * Obtain developer feedback on API ergonomics and implementation stability. * Increase confidence in benefits of feature (exposing and enabling MSE usage from DedicatedWorker contexts) to support its standardization. Reason this experiment is being extended There are two reasons extension is necessary: 1) A breaking error discovered in the middle of the trial (see https://crbug.com/1268614) caused participation to drop before the 2021 holiday period. While the fix landed by early 2022 and at least one participant has reported excellent improvement in metrics in their experiment since then, further stabilization is desired. 2) An API change for this feature (using srcObject for MSE-in-Workers attachments instead of baking in objectURL attachment further) was agreed with the media workgroup last September [1] following the previous objectURL-based attachment design getting more recent feedback [2], and I'm working on getting that into both the feature spec and Chromium's experimental implementation currently for rapid experimentation during the extended trial. [1] https://www.w3.org/2021/09/14-mediawg-minutes.html [2] https://github.com/mozilla/standards-positions/issues/547 Ongoing technical constraints Debuggability Feature consists of exposing existing interfaces also on a DedicatedWorker, and addition of a WebIDL method for proactively detecting support for this feature, and are covered by basic tooling. Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?Yes MSE and DedicatedWorker already exist on all six Blink platforms. This feature lets MSE work from DedicatedWorker contexts. Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> ?Yes DevTrial instructions https://github.com/w3c/media-source/issues/175#issuecomment-721395481 Flag nameMediaSourceInWorkers Requires code in //chrome?False Tracking bughttps://crbug.com/878133 Estimated milestones OriginTrial desktop last 99 OriginTrial desktop first 95 OriginTrial android last 99 OriginTrial android first 95 Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5177263249162240 Links to previous Intent discussionsIntent to prototype: https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/CNRywDqgKjY/m/F0nnA4tTAwAJ Intent to Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/XZMyanniH9E This intent message was generated by Chrome Platform Status <https://chromestatus.com/>. -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAADho6O_3L5%2Bh3Ryb8bFpS9-Ok%3DfMUqCV_3AmSow3TZ-t496zw%40mail.gmail.com.