Re: [webrtc-pc] Constrainable properties on remote tracks are under-specified (#2121)

Observations or starting point-opinions:
- Constraints are usually applied to tracks, not sources. As such, "width" can make sense whether the source is a camera or a network source. However sometimes they only make sense for a particular source... (see below).
- Starting point: Unless otherwise specified or not applicable, constraints should mean the same thing independent of what the source is.
- We can either be "defensive", and say "only these constraints are supported for remote tracks" and be explicit about it, or "offensive" and allow all constraints that are still defined in a way that can be applied to remote tracks to be so. Example: "width" means the same thing independent of what source produced the frames.

> Otherwise, the next question might be why don't we support [whiteBalanceMode](https://w3c.github.io/mediacapture-image/#dom-mediatracksettings-whitebalancemode)?

Definition: "White balance mode is a setting that cameras use to adjust for different color temperatures."
This is a configuration that is clearly not applicable to a remote source. A remote source gives you whatever is sent to you, whereas a camera can be configured to produce different outputs. RTCPeerConnection is not a color temperature sensing camera.

---

I think a lot of this boils down to if you view "applyConstraints()" as means to _change configurations of a source_ or _filter/transform what the source provides you with_. The former is not applicable to remote tracks, the latter is.

We may save a lot of time arguing if we can pinpoint what "applyConstraints()" should mean with regards to this!

---

Side-discussion, though perhaps we should leave this one until later, is what to do if a track gets overconstrained? Given that mute is a possible side-effect of setRemoteDescription(), I am opposed to allowing remote tracks to become muted for other reasons. Two possibilties I see:
1. Don't support "min" and "max", only support "ideal". As such we never get overconstrained; as such we never get muted for constraints-reasons.
2. [Don't mute tracks on overconstrained or remove overconstrained altogether](https://github.com/w3c/mediacapture-main/issues/573#issuecomment-470858902) (discussion separate from the local vs remote discussions).


-- 
GitHub Notification of comment by henbos
Please view or discuss this issue at https://github.com/w3c/webrtc-pc/issues/2121#issuecomment-470865092 using your GitHub account

Received on Friday, 8 March 2019 09:34:23 UTC