I created an extension to disable audio processing (echoCancellation, autoGainControl, noiseSuppression) in apps that don't provide these controls already (Zoom PWA in particular). I do this by intercepting getUserMedia, and and explicitly setting those to false. I see that Google Meet uses "mandatory" and/or "optional" constraints, and I gather these are obsolete, but fine, I made my code account for this way of packaging the constraints, buy making the change within the mandator section instead of the top-level section.
What I'm less clear about is the "advanced" constraints I also see used on some sites (e.g., the new circle.so live stream feature, which is actually what started me down this path). I see they are setting googEchoCancellation and other constraints that don't seem to be officially documented (although I can find any number of random posts and articles mentioning them). According the query I ran on both my Chromebook and on Windows, Chrome doesn't actually list these as supported constraints. And the official (?) docs suggest the whole "advanced" section is likely to go away -
https://developer.mozilla.org/en-US/docs/Web/API/Media_Streams_API/Constraints#advanced_constraints
So, my question is this really a thing I need to deal with, and if so, where I do go for real scoop on these browser-specific constraints?
In practice, it seems to work to ignore the "advanced" constraints (e.g., leaving googEchoCancellation et al set however the app wants) and simply add the regular supported constraints at top level. That is, setting echoCancellation seems to override the googEchoCancellation setting within the advanced section. Ubnless I'm just getting lucky and really should do soemthing different. Or, maybe something more subtle is actually going on here that I'm missing.