- From: Jan-Ivar Bruaroey <jib@mozilla.com>
- Date: Tue, 07 Jan 2014 17:13:01 -0500
- To: Dan Burnett <dburnett@voxeo.com>, public-media-capture@w3.org
- Message-ID: <52CC7BED.9070809@mozilla.com>
Hi Dan, thanks for doing the update. Some quick comments. On 12/25/13 10:31 PM, Dan Burnett wrote: > Hi > > A new version of the editor's draft is available. > > Dated version: http://dev.w3.org/2011/webrtc/editor/archives/20131225/getusermedia.html > Living document: http://dev.w3.org/2011/webrtc/editor/getusermedia.html > > Changes include: > * ACTION-25: Switch mediastream.inactive to mediastream.active. > * ACTION-26: Rewrite stop to only detach the track's source. > * Bug 22338: Arbitrary changing of tracks. > * Bug 23125: Use double rather than float. Tiny nit: grepping for 'float' turns up http://dev.w3.org/2011/webrtc/editor/getusermedia.html#capabilities-constraints-and-settings which still mentions float as an etc. in the prose. Also, 'int' is not valid in webidl ('long' would be). > * Bug 22712: VideoFacingMode enum needs an illustration. Can you help me understand what left and right are for? I was surprised to see them still pointing essentially toward the user rather than in opposing directions, but then I never understood their purpose. 3D? If so, why are they not pointing toward the environment? (the old HTC Evo 3D phone had its stereo cameras pointing toward the environment FWIW - not saying they all do). > * Moved constraints into a separate Constrainable interface. Are you looking for feedback of the text or has it just moved? I'll post my comments for this section in any case: I would strike the word "partial" from the text "[ The Constrainable interface] is broken out as a separate partial interface so that it can be used in other specifications. ", since this is not a partial interface (a partial interface being a way of adding to an existing interface, like this: interface a { int b; }; partial interface a { int c; } for a result identical to interface a { int b; int c; } But a larger problem I see with this sentence and the Constrainable interface itself, is the notion that other specifications can implement this webidl interface as it stands. I don't think they can, not without changing what the concepts "Capabilities", "Constraints" and "Settings" point to, unless they're going to play in the same pool of known constraints. I have to ask why we're attempting this abstraction, because the benefits are not clear to me as an implementer or a user. Can you give me an example of how another spec might use it, and how that would work exactly? The Constrainable interface itself appears unchanged, and has problems I've mentioned before. In short: [NoInterfaceObject] interface Constrainable { readonly attribute Capabilities capabilities(); readonly attribute Constraints constraints; readonly attribute Settings settings; attribute EventHandler onoverconstrained; void applyConstraints (Constraints constraints, VoidFunction successCallback, ConstraintErrorCallback errorCallback); }; at least needs to be: [NoInterfaceObject] interface Constrainable { Capabilities getCapabilities(); Constraints getConstraints(); Settings getSettings(); attribute EventHandler onoverconstrained; void applyConstraints (Constraints constraints, VoidFunction successCallback, ConstraintErrorCallback errorCallback); }; in order to be valid. The reason is dictionaries cannot be attributes, and the prose still has Capabilities and Settings as dictionaries, which I believe they'll continue to be. > * Created a separate section on error handling. About: [NoInterfaceObject] interfaceMediaError { readonly attribute DOMString name; readonly attribute DOMString? message; readonly attribute DOMString? constraintName; }; Did we really decide to do this? I thought we were going with plain DOMError. How much should we warp the universe to make mandatory usable? Lets not add this. Firefox already gives you the name of the constraint that failed in the message, which is super-trivial to find in JS (and if not found, big deal. The end user gets a less than stellar error message, right? The call failed and it was mandatory, so there can't be another reason). > Please review and provide feedback. > > Dan Burnett (for the editors) .: Jan-Ivar :.
Received on Tuesday, 7 January 2014 22:13:30 UTC