This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
I'm struggling to make sense of the "Source capabilities" section in Media Capture and Streams. First, trivially, the typedef for CapabilityList should presumably be sequence<DOMString> rather then "sequence" (which doesn't make sense). In practice, though, it's not clear why that a sequence of DOMString is used generically through this typedef rather than more specific types where useful (e.g. SourceTypeEnum for sourceType). I don't understand either how a given source could have a sequence of sourceId or a sequence of facingMode rather than a single value; I'm not sure whether a sequence of sourceType make sense either — that probably depends whether a camera that can record sound should appear both as a camera and as a microphone (the spec isn't clear on that).
Dom, are your concerns addressed in the updated draft?
Most of my concerns are addressed, but the following questions remain open from my initial bug report: * facingMode is described as a PropertyValueSet (i.e. takes a list of values); I'm not clear how a camera can be facing different directions at once; this may make sense, but if it does, it should be more clearly explained the description of the facingMode constraint * conversely, sourceType is described as a single value ("none", "camera" or "microphone"); but it feels like some devices might have both a camera and mike, so I don't why the type of sourceType is not PropertyValueSet; again, this might make sense, but additional explanation in the definition would be needed (I haven't dived into the more general updated model of constraints/capabilities/settings yet; it still makes me feel dizzy though…)
A source has only a single source type. A device with both camera and microphone will be described as two sources with the same groupId - that's why we added groupId.
Makes sense; so that leaves the question of the meaningfulness of having an array of values for facingMode in capabilities. In particular, the example in 11.3 has: facingMode": ["user", "environment"] which doesn't make sense to me; it may be that there is some (obsolete?) ambiguity about whether capabilities are at the UA level (which the text in 11.3 seems to imply) or at the source level.
This bug has been resolved through discussion. Remaining issue - of whether facingMode can ever be multivalued in Capabilities - is filed as a separate bug: https://www.w3.org/Bugs/Public/show_bug.cgi?id=25247