This spec loosely mentions "Echo-cancellation", "noise suppression", and "boost intelligibility of the incoming signal" (autoGainControl?) and implies a control surface to those features.
There seems to be significant overlap here with track constraints. E.g.:
track.contentHint = "music";
await track.applyConstraints({
echoCancellation: true,
noiseSuppression: true,
autoGainControl: true,
});
track.contentHint = "music";
console.log(track.getSettings().echoCancellation); // true or false?
console.log(track.getSettings().noiseSuppression); // true or false?
console.log(track.getSettings().autoGainControl); // true or false?
My guess would be true on account of "These settings are not intended to replace encoder-level settings completely but rather complement them with a simpler hint"—even though we're not dealing with encoders here.
There also seems to be a missed opportunity here to make things normatively testable. E.g.:
// Assuming unconstrained track
track.contentHint = "music";
console.log(track.getSettings().echoCancellation); // false
console.log(track.getSettings().noiseSuppression); // false
console.log(track.getSettings().autoGainControl); // false
The lack of testable steps feels like a general problem, so I'll open a separate issue on that.
This spec loosely mentions "Echo-cancellation", "noise suppression", and "boost intelligibility of the incoming signal" (autoGainControl?) and implies a control surface to those features.
There seems to be significant overlap here with track constraints. E.g.:
My guess would be
trueon account of "These settings are not intended to replace encoder-level settings completely but rather complement them with a simpler hint"—even though we're not dealing with encoders here.There also seems to be a missed opportunity here to make things normatively testable. E.g.:
The lack of testable steps feels like a general problem, so I'll open a separate issue on that.