The MediaStreamTrack Statistics API, or `track.stats`, has already shipped for video tracks: see previous I2S here.
This is the same API but for audio tracks, also motivated by the app's desire to measure capture quality. This is very important for conferencing websites such as Google Meet, Microsoft Teams, Zoom, Goto Meetings, etc. All of which has expressed an interest in the audio portion of this API.
The API is only available for getUserMedia() sourced audio tracks, i.e. microphone, so the API is behind a user prompt and only available during capture.
The new interface we want to ship is MediaStreamTrackAudioStats which allow measuring two things from the audio capture pipeline:
1. The number of audio frames, including if any audio frames are dropped by the device, OS or User Agent. This allows measuring glitches in captured audio.
2. The input latency, such as due to buffering or other delays in delivering the audio frames to the track's sinks.
Because the API provides statistics about capture quality, rather than providing capture functionality, the interop/compatibility risk is small.
None
--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a594fc55-8030-4848-9fe6-549eccfdd8a8n%40chromium.org.
I looked into the details of the standards debate on this issue. It sounds like it's still unclear whether the spec for this has WG support or not, right? I certainly wouldn't want to mislead anyone as to API maturity / likely interoperability by shipping based on a WebRTC WG specification if there is an unresolved process concern.That said, I think Chromium's position on the technical debate here is pretty clear - we do believe there's value in such stats APIs, even IF they can only represent browser bugs (it's why we ship a crash reporting API, which has been similarly controversial with Mozilla and Apple). We disagree that "there's nothing web developers can do about it". Maybe that's true for Apple and Mozilla, but for Google we rely critically on developer feedback through both open (crbug.com) and private (Google partnerships) channels and we want to make it as easy as possible for developers to report an issue they're seeing to us in a way that's actionable. Our privacy policy limits Chrome's visibility into what's going on in the wild. So usually we find this requires a mix of both site-acquired telemetry and browser-required telemetry, and find the two can often complement each other nicely.
I looked into the details of the standards debate on this issue. It sounds like it's still unclear whether the spec for this has WG support or not, right? I certainly wouldn't want to mislead anyone as to API maturity / likely interoperability by shipping based on a WebRTC WG specification if there is an unresolved process concern.
That said, I think Chromium's position on the technical debate here is pretty clear - we do believe there's value in such stats APIs, even IF they can only represent browser bugs (it's why we ship a crash reporting API, which has been similarly controversial with Mozilla and Apple). We disagree that "there's nothing web developers can do about it". Maybe that's true for Apple and Mozilla, but for Google we rely critically on developer feedback through both open (crbug.com) and private (Google partnerships) channels and we want to make it as easy as possible for developers to report an issue they're seeing to us in a way that's actionable. Our privacy policy limits Chrome's visibility into what's going on in the wild. So usually we find this requires a mix of both site-acquired telemetry and browser-required telemetry, and find the two can often complement each other nicely.Henrik, my advice if the WG doesn't have consensus for this API is to move it to some incubation venue (like a WICG group). You clearly have a community of web developers who want it, so it's probably more productive to focus standards energy among allies who share an interest for the use case, right? If you're willing to promptly move this to a WICG spec in the event the WG asks to remove it from their spec, then I don't think this debate changes anything from a blink API owner's perspective so I'm OK treating it as non-blocking. A subset of API owners met today (Daniel, Mike Taylor, Philip and I), and agreed with this stance. WDYT?
In terms of testing, normally we ask to see the tests land before approving an I2S. Any reason we shouldn't wait for that here?
Thanks,RickOn Fri, Dec 8, 2023 at 11:53 AM Henrik Boström <hb...@chromium.org> wrote:
Contact emails
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2e451af1-5e0a-4dd9-a12c-fc30c7dff7dbn%40chromium.org.
LGTM3, with same condition.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw-HbWWNeZ4jyRr38WR75FtxOA2DUhkwrHH0-OZnjkq9cg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2e451af1-5e0a-4dd9-a12c-fc30c7dff7dbn%40chromium.org.
--
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+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw-HbWWNeZ4jyRr38WR75FtxOA2DUhkwrHH0-OZnjkq9cg%40mail.gmail.com.