Closed guest271314 closed 2 years ago
It looks like a bug report for Chrome implementation. I'll take this and open (or reopen) relevant issues on crbug.com.
I reopened crbug.com/1262796 (which was closed due to inactivity) and will engage with the project owner there.
Based on WG's discussion on 5/5/2022, we believe the spec change on Web Audio API is not needed. That said, please feel free to reopen the issue if needed.
Describe the issue
A clear and concise description of what the problem is in the spec.
The Web Audio API specification needs to include stronger (redundant, where a reader of this specification might not click on links to Media Capture and Streams specification, and should not need to) language as to what is required for a
MediaStreamTrack
in the present specification itself, not only link to the Media Capture and Streams specification, which Web Audio API relies on forMediaStream
andMediaStreamTrack
definitions and capabilities.https://www.w3.org/TR/mediacapture-streams/#life-cycle-and-media-flow:
I suggest adding the following bold, italic text to this specification so there is no ambiguity as to what is expected, using language already in the specification for 1.7. The AudioScheduledSourceNode Interface re silence:
... This interface is an audio destination representing a
MediaStream
with a singleMediaStreamTrack
whose kind is"audio"
. TheMediaStreamTrack
MUST render/output silence (0) - before anyAudioNode
s are connected to and after anyAudioNode
s are disconnected from theMediaStreamAudioDestinationNode
.If it's really an implementation bug, considering filing an issue for your browser at
Already filed. Marked as
WontFix
merely due to Chrome banning me, thus I could not post any further on bugs.chromium.org. The initial respondents evidently did not gather what the bug report is about even though it is spelled out in the title/description Issue 1262796: MediaStreamTrack does not render silence https://bugs.chromium.org/p/chromium/issues/detail?id=1262796.Where Is It
Additional Information
The following code demonstrates Chrome/Chromium is not in conformance with the Media Capture and Streams specification as to
MediaStreamTrack
ofkind
"audio"
rendering silence. Live demonstration at plnkr https://plnkr.co/edit/XNwNwANBuMzaBKxj?preview. On Firefox 96 both<audio>
elements play, on Chromium 100 neither<audio>
element plays.I don't think Chrome has ever acknowledged the fact that audio
MediaStreamTrack
does not render silence. Therefore the non-conformance with the controlling specification and implementation bug will never be fixed without first acknowledging the bug. That can only occur by making it clear there is non-conformance in this regard, and not accepting the bug not being fixed. WPT testsMediaStreamAudioDestinationNode
rendering/outputting silence should also be added, to make sure there is no denying or ignoring the facts (by dependent specification, that is, Web Audio API).The failure to render/output silence for
MediaStreamTrack
inMediaStreamAudioDestinationNode.stream
adversely impacts any downstream graph expecting silence to be rendered perpetually - even without an audio node (source) connected thereto.