RTCWEB | D. Burnett |
Internet-Draft | Voxeo |
Intended status: Standards Track | July 15, 2013 |
Expires: January 16, 2014 |
IANA Registry for RTCWeb Media Constraints
draft-burnett-rtcweb-constraints-registry-03
Specifications in W3C's Media Capture Task Force and WebRTC Working Group have need of a registry in which to maintain a list of HTML media constraints. This document defines this registry.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 16, 2014.
Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
There are two W3C specifications that have need of a registry in which to represent constraints: Media Capture and Streams [W3C.WD-mediacapture-streams-20120628] and WebRTC 1.0: Real-time Communication Between Browsers [W3C.WD-webrtc-20120821]. In the former, the getUserMedia() method on the NavigatorUserMedia interface takes a "constraints" argument. In the latter, the addStream() method on the RTCPeerConnection interface and the constructor for RTCPeerConnection both take optional "constraints" parameters. All three of these parameters make use of a data structure representing a list of constraints on the HTML media or media connection to be established. Additionally, both specifications may at some point define getCapabilities() methods that are used to query the web browser about its capabilities. It is possible that the returned data structure will specify the browser's capabilities in terms of constraints that it can satisfy. The data structures and their use are defined in the aforementioned specifications. This document specifies the registry used to define individual constraint names, their allowed values, and their meanings.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].
This document defines a registry "RTCWeb Media Constraints" for use by W3C specifications needing to indicate constraints on HTML Media, both as used by web application authors to indicate preferences and as used by web browsers to indicate constraints they can satisfy.
IANA SHALL create a new name space of "RTCWeb Media Constraints". All maintenance within and additions to the contents of this name space MUST be according to the "Specification Required with Expert Review" registration policy as defined in RFC5226 [RFC5226]. The registry is initially empty. The registry is defined in the remainder of this section.
Each registry entry consists of a Name, a Media Type, and a Reference (or list of references).
An RTCWeb Media Constraint Name MUST satisfy the following ABNF [RFC5234] specification:
rtcweb-media-constraint = constraint-type constraint constraint-type = "min" / "max" / "enum" constraint = %x41-5A 0*constraint-char constraint-char = ALPHA / DIGIT
RTCWeb Media Constraint Names are case-sensitive.
The Media Type MUST be one of the values as specified by the following ABNF specification:
rtcweb-media-type = "audio" / "video" / "RTCPeerConnection"
A registration request MUST include the following information:
RTCWeb Media Constraint Names are of unlimited length according to the syntax. However, it is RECOMMENDED that they be no longer than 80 characters in total. This is to keep them reasonable for humans to read and use. It is RECOMMENDED that Names use camel case, i.e., when a Name consists of multiple words, the first character of each word SHOULD be an uppercase character, with all others being lowercase. This recommendation only applies to the characters following the constraint-type.
An RTCWeb Constraint MUST be relevant for the Media Type given. For example, a Constraint with Media Type of "audio" MUST be relevant to audio media streams and connections, while a Constraint of Media Type "video" MUST be relevant to video media streams and connections.
A constraint MUST satisfy the following criteria based upon its constraint-type:
The constraint MUST be well enough defined in the given references that it is understandable by implementors and application developers that will use the constraint. The constraint SHOULD NOT duplicate a condition that can be achieved using constraints already defined in the registry. The constraint name SHOULD be appropriate and specific enough for the constraint.
Since the constraints envisioned for this registry are fairly generic in nature, it is not expected that the mere existence of this registry will introduce any particular security issues. Any specification defining one or more new constraints SHOULD address any specific security issues that might be introduced by the constraint(s).
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC5234] | Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008. |
[RFC5226] | Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008. |
[W3C.WD-webrtc-20120821] | Bergkvist, A., Burnett, D., Jennings, C. and A. Narayanan, "WebRTC 1.0: Real-Time Communication Between Browsers", World Wide Web Consortium WD WD-webrtc-20120821, August 2012. |
[W3C.WD-mediacapture-streams-20120628] | Burnett, D. and A. Narayanan, "Media Capture and Streams", World Wide Web Consortium WD WD-mediacapture-streams-20120628, June 2012. |
The authors would like to thank the members of the W3C Media Capture Task Force and WebRTC Working Group, the members of the IETF RTCWEB Working Group, and the people who gave specific early review and feedback: Cullen Jennings and Travis Leithead.