← Back to release summary

DisplayMediaStreamConstraints.systemAudio

Category
WebRTC
Type
Chromium catches up
Status
Enabled by default (Chrome 105)
Intent stage
Shipped

Summary

Hint indicating to the user agent whether the application, upon calling getDisplayMedia() with {systemAudio: true}, wishes *system audio* to be offered to the user. (If not - only offer tab-audio.)

Motivation

User agents may offer audio to be captured alongside video, if the application specifies {systemAudio: true}, or maps audio to anything else that's different from false. But not all audio is created alike. Consider video-conferencing applications. Tab-audio is often useful, and can be shared with remote participants. But system-audio includes participants' own audio, and it is NOT desirable to share it back. State of the art? VC applications can ask for "audio", use it if it's tab-audio, and discard it otherwise. This works, but it's sub-optimal. The user is left confused. The user wanted to share system-audio, the user was offered to share-system, the user explicitly approved sharing system-audio - and now remote participants are telling the user that they can't, in fact, hear the system-audio. Now how confusing is that?! It’s better to allow applications to ask for less - allow the application to ask for non-system audio.

Standards & signals

Explainers: https://docs.google.com/document/d/1q3oGy7hLJmdQA4ZK7QG7DnwgtcpL6oB2pqLQJ6MP1tY/edit?usp=sharing

View on chromestatus.com