Re: [mediacapture-main] what is the default channelCount (#775)

> @youennf  AIUI, @bradisbell actually wants default values so that the browser processing is as thin as possible.
> This means echoCancellation=false for instance. This does not mean 'no default'.

To be specific, what I want is the browser not to modify what I'm getting from the underlying system.  If something at a lower layer turns on some echo cancellation algorithm (eg. most any Lenovo laptop), I'll accept that because that's what the user has and has control over.  By default, I don't want the browser doing anything extra.  I have no problems with extra features, but I believe they should be opted into.

Using the Lenovo microphone example, if there were some way for the system to indicate to the browser that echo cancellation were on, then my web application not specifying any constraints would end up with `echoCancellation=true` because that's what the system is providing.  (Of course, I don't think there is any standardization on this specific feature, so there's no way that could work, since the echo cancellation is something that the user agent does.)

In the case of an observable constraint such as frame width/height, I'd prefer the user agent take whatever the underlying system provides by default.  That means that I *don't* want the browser to set a default.  I want something upstream to figure out what is best, using whatever method it thinks is best.

> @henbos Today you could have the same machine, same device, same OS, same OS settings and the only thing that is different is which browser you are running - and you might get different results.

Agreed on the discussion point, but let's keep in mind the various audio APIs available.  Even on Windows, one browser may use WASAPI and another DirectSound.  This could legitimately and acceptably result in different behavior for the application.

> @henbos It's not like this is some OS default either - you can't go into Windows Camera device settings and change this to 800x600x16, but even if you could, what's the point of exposing this to web apps?

Web apps should be treated no differently than desktop apps, wherever practical.  In my own usage, it would be nice to have sensible defaults for cameras and capture devices, if they were available.  If the user has configured that they like a particular resolution, that resolution should be used by default everywhere.

An example use case... I ran out of USB 2.0 bandwidth regularly, and when Google Hangout or similar would request 1920x1080 from my webcam, things would work... but barely.  If I could set a default of 1280x720, the webcam would work.  Google Hangout had an option for lowering video resolution, but most web apps did not.

Another use case is that pro audio devices in exclusive mode will change their hardware clock rate to match what is requested.  If by default browsers requested 48 kHz instead of a configured 44.1 kHz, that might knock my whole studio out of sync.  Whereas if the browser just accepted what it was given, and the web application accepted what it was given, it would get the 44.1 kHz stream and all would be well.



-- 
GitHub Notification of comment by bradisbell
Please view or discuss this issue at https://github.com/w3c/mediacapture-main/issues/775#issuecomment-789283803 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Tuesday, 2 March 2021 22:57:03 UTC