Contact emails [email protected], [email protected]
Explainer https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/OfflineAudioContext/explainer.md Specification https://webaudio.github.io/web-audio-api/#dom-offlineaudiocontext-startrendering Summary This feature adds an incremental rendering mechanism to OfflineAudioContext so that the audio graph data can be incrementally processed rather than allocating the whole audio buffer up front. By incrementally delivering the data using data chunks, there is no need to have high memory requirements for the user's machine when processing high amounts of data. Blink component Blink>WebAudio Web Feature ID Missing feature Motivation The OfflineAudioContext API works well for rendering small audio graphs, but it does not scale for larger projects because it allocates the full graph's AudioBuffer up front. For example, rendering a 2-hour video composition project in clipchamp.com in an OfflineAudioContext would require an extremely large AudioBuffer allocation. The implication of this API is that a user's computer must have enough available memory to export the project even if the in-memory audio buffer will eventually be discarded after it is written to a file. In situations with limited hardware resources or low-powered devices, this limitation makes WebAudio unusable as an offline processor. If memory capacity is exceeded on a user's machine, then the processing will stop and the browser may terminate the tab/window leading to potential loss of data for the user and a poor user experience. Initial public proposal https://github.com/WebAudio/web-audio-api/issues/2445 TAG review https://github.com/w3ctag/design-reviews/issues/1282 TAG review status Pending Goals for experimentation None Risks Interoperability and Compatibility Low risk. - This feature is additive, meaning that the current functionality/API is preserved. - Mozilla has actively participated in the spec discussion/writing and approved the already merged spec proposal. - Feature detection can be done by checking the existence of OfflineAudioContext.close() Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1456) Although not officially "positive" in their GitHub repo, Mozilla position should be positive. They were very active in the WG and also reviewed and approved the spec changes. WebKit: No signal (https://github.com/WebKit/standards-positions/issues/724) Web developers: Positive (https://github.com/WebAudio/web-audio-api/issues/2445) Developers from ClipChamp and Mediabunny participated in the spec discussions and support the feature. Other signals: WebView application risks Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications? Low risk. This is an additive feature to the OfflineAudioContext API. Debuggability No information provided Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)? Yes Is this feature fully tested by web-platform-tests? Yes WPTs are being implemented in https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/webaudio/the-audio-api/the-offlineaudiocontext-interface/: https://wpt.fyi/results/webaudio/the-audio-api/the-offlineaudiocontext-interface/offlineaudiocontext-incremental-rendering.html?label=experimental&label=master&aligned https://wpt.fyi/results/webaudio/the-audio-api/the-offlineaudiocontext-interface/offlineaudiocontext-incremental-rendering-data-integrity.html?label=experimental&label=master&aligned https://wpt.fyi/results/webaudio/the-audio-api/the-offlineaudiocontext-interface/offlineaudiocontext-close.html?label=experimental&label=master&aligned Flag name on about://flags N/A Finch feature name OfflineAudioContextIncrementalRendering Rollout plan Will ship enabled for all users Requires code in //chrome? False Tracking bug https://issues.chromium.org/issues/530596178 Measurement We are going to use the following UseCounters to measure adoption: OfflineAudioContextStartRendering and OfflineAudioContextClose Availability expectation Feature is available only in Chromium browsers for the foreseeable future. Adoption expectation Feature is used by specific partner(s) to provide functionality within 12 months of launch in Chrome. Adoption plan We are in contact with partners via internal channels and the W3C Audio Working Group. Non-OSS dependencies Does the feature depend on any code or APIs outside the Chromium open source repository and its open-source dependencies to function? None. Estimated milestones Shipping on desktop 158 Shipping on Android 158 Shipping on WebView 158 Anticipated spec changes Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (eg links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (eg, changing to naming or structure of the API in a non-backward-compatible way). https://github.com/WebAudio/web-audio-api/pull/2675 Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5109900936085504?gate=6495103520735232 Links to previous Intent discussions Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6a908411.8ed5e303.29aee.0236.GAE%40google.com This intent message was generated by Chrome Platform Status. -- 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 [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6ad165d2.a6e82b8f.2f63e0.0243.GAE%40google.com.
