Intent to Extend Experiment: Playout Statistics API for WebAudio

123 views
Skip to first unread message

Chromestatus

unread,
Jul 8, 2025, 8:47:42 AMJul 8
to blin...@chromium.org, agp...@google.com, fhern...@google.com, gui...@google.com, hong...@google.com, ol...@google.com

Contact emails

fhern...@google.com, ol...@google.com, hong...@google.com, agp...@google.com, gui...@google.com

Explainer

https://github.com/WICG/web_audio_playout

Specification

https://wicg.github.io/web_audio_playout

Summary

The AudioContext.playoutStats API allows an application to measure the quality and latency of audio playout using WebAudio.



Blink component

Blink>WebAudio

TAG review

Early TAG review request: https://github.com/w3ctag/design-reviews/issues/939

TAG review status

Issues addressed

Origin Trial Name

Playout Statistics API for WebAudio

Chromium Trial Name

AudioContextPlayoutStats

Origin Trial documentation link

https://github.com/WICG/web_audio_playout

WebFeature UseCounter name

kAudioContextPlayoutStats

Risks



Interoperability and Compatibility

None



Gecko: No signal

WebKit: No signal

Web developers: Positive (https://github.com/WICG/proposals/issues/142#issuecomment-1981012486)

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?

None



Goals for experimentation



Reason this experiment is being extended

Since the last extension, the Privacy WG have reviewed the API, and noted some security concerns[1]. We have discussed them and agreed on a set of mitigations, given which the Privacy WG have indicated that they will approve the API[2]. If you don't have access to the slack thread, you can read the relevant messages here (shared with Blink API-owners)[3] We have updated the spec with a formal algorithm which includes the mitigations as well as a Privacy & Security considerations section discussing the concerns. [4] We are requesting this Origin Trial extension to give us time to get the Privacy WG's final approval on the new version of the spec, and present it to the Audio WG (who are positive towards the API when it was presented at TPAC but want approval from the Privacy WG before adopting it). [1] https://github.com/WICG/web_audio_playout/issues/4 [2] https://w3ccommunity.slack.com/archives/C06BB1JR528/p1747683821732619?thread_ts=1744909746.069129&cid=C06BB1JR528 [3] https://docs.google.com/document/d/1Mg-O-YX4xiFJ2qtvjRDL_F5SbKf74TJFYYQnTCE5QrU/edit?tab=t.0 [4] https://wicg.github.io/web_audio_playout/



Reason this experiment is being extended

We need additional time to work with Privacy WG to address their concerns. Since the origin trial started, we have made the following progress: * The API was presented at TPAC, and got a positive reaction from Audio WG. However, they wanted to hear the Privacy WG's input, and that we should ask the internal privacy/security reviewers why the API is ok while the similar RenderCapacity API was not ok. ( https://docs.google.com/document/d/1QiBmVZb51ATyai_TTbkMnq25zaQOzVNxNIsPJZ8sdUE/edit?tab=t.0#heading=h.el9c5z4prh05 ) * We have presented the API to the Privacy WG and they have discussed it (https://github.com/w3c/privacywg/blob/main/minutes/privacywg-20250417.md#webaudio) . We are now having an active discussion with them about how we can address their concerns. * Google-internal privacy/security reviewers have reaffirmed that the API is ok, and safer than the RenderCapacity API. * We have added wpt tests for the API.



Ongoing technical constraints

None.



Debuggability

Can be tested by creating an AudioContext and evaluating context.playoutStats in the console.



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

https://wpt.fyi/results/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-playoutstats.html?label=experimental&label=master&aligned These will be updated if the API shape changes.



Flag name on about://flags

None

Finch feature name

AudioContextPlayoutStats

Requires code in //chrome?

False

Estimated milestones

Origin trial desktop first 131
Origin trial desktop last 136
Origin trial extension 1 end milestone 142
Origin trial extension 2 end milestone 139
DevTrial on desktop 129


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5172818344148992?gate=5107124824440832

Links to previous Intent discussions

Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACazmWW4MYVa_iGjN%3DK4O9B1DE3rt4_2Vkqnq6sKswHFjn6BzQ%40mail.gmail.com
Intent to Experiment: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACazmWWV6S6Ba%3Dd%3DgvjhERm1OnPyBMRJx5fbkP%3Df9zb3k%3DrNDA%40mail.gmail.com
Intent to Extend Experiment 2: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACazmWVkWb8DJM_aCRGOFpskBs-7h%3DO_yggKc3YBUkiieEO-UA%40mail.gmail.com


This intent message was generated by Chrome Platform Status.

Vladimir Levin

unread,
Jul 9, 2025, 11:28:52 AMJul 9
to blink-dev, Chromestatus, agp...@google.com, fhern...@google.com, gui...@google.com, hong...@google.com, ol...@google.com
LGTM to extend to 142 inclusive
Reply all
Reply to author
Forward
0 new messages