CR: WebRTC 1.0: Real-time Communication Between Browsers

WebRTC 1.0: Real-time Communication Between Browsers

https://www.w3.org/TR/2019/CR-webrtc-20191213/

feedback due by: 2019-12-13

Abstract

This document defines a set of ECMAScript APIs in WebIDL to allow media to be sent to and received from another browser or device implementing the appropriate set of real-time protocols. This specification is being developed in conjunction with a protocol specification developed by the IETF RTCWEB group and an API specification to get access to local media devices.

Status of the Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/. 

The API is based on preliminary work done in the WHATWG. 

The specification is feature complete and is expected to be stable with no further substantive change. Since the previous Candidate Recommendation, the following substantive changes have been brought to the specification: 
 
  * The following features were removed given lack of implementation adoption - some are expected to move to extension specifications or future revisions of this specification: OAuth as a credential method for ICE servers Negotiated RTCRtcpMuxPolicy (previously marked at risk) voiceActivityDetection getDefaultIceServers() RTCCertificate.getSupportedAlgorithms() statsended event RTCRtpEncodingParameters: ptime, maxFrameRate, codecPayloadType, dtx, degradationPreference RTCRtpDecodingParameters: encodings RTCDatachannel.priority 
  * The following features have been added: restartIce() method added to RTCPeerConnection Introduced the concept of “perfect negotiation”, with an example to solve signaling races. Implicit rollback in setRemoteDescription to solve races. Implicit offer/answer creation in setLocalDescription to solve races. 
  * The following features have been updated: Use of internal slots in several API descriptions to clarify state machine updates Clarification of state machine transitions for RTCPeerConnection state, ICE Connection state Updates to reflect WebIDL changes (constructor, default value for dictionaries) Restructuring of the setLocalDescription and setRemoteDescription algorithms Clarify and align with implementations the use of simulcast Align with latest changes in WebRTC Statistics  

Its associated test suite will be used to build an implementation report of the API. 

To go into Proposed Recommendation status, the group expects to demonstrate implementation of each feature in at least two deployed browsers, and at least one implementation of each optional feature. Mandatory feature with only one implementation may be marked as optional in a revised Candidate Recommendation where applicable. 

The following features are marked as at risk: 
 
  * All attributes defined in RTCError: errorDetail, sdpLineNumber, httpRequestStatusCode, sctpCauseCode, receivedAlert and sentAlert.  

This document was published by the Web Real-Time Communications Working Group as a Candidate Recommendation. This document is intended to become a W3C Recommendation.

Comments regarding this document are welcome. Please send them to public-webrtc@w3.org (archives).

W3C publishes a Candidate Recommendation to indicate that the document is believed to be stable and to encourage implementation by the developer community. This Candidate Recommendation is expected to advance to Proposed Recommendation no earlier than 12 January 2020.

Please see the Working Group's implementation report.

Publication as a Candidate Recommendation does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document was produced by a group operating under the W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

This document is governed by the 1 March 2019 W3C Process Document.

Received on Friday, 13 December 2019 12:52:53 UTC