Null ICE candidate in WebRTC 1.0 and ORTC API

Currently in ORTC API, we allow candidate===null.  For example, in Section 3.15.1: 

"If candidate is null, there are no additional candidates for now."

Note:  the "for now" implies that multiple null candidates can be fired (e.g. a null candidate does NOT necessarily signify "end of candidates").  

A question has arisen as to whether this is compatible with WebRTC 1.0 (see: http://dev.w3.org/2011/webrtc/editor/webrtc.html) or not.  

On the one hand, WebRTC 1.0 Section 4.3.1 says: 

"The gathering process is done.

Set connection's ice gathering state to completed and let newCandidate be null."

On the other hand, Section 4.8.2 says: 

dictionary RTCPeerConnectionIceEventInit : EventInit {
    RTCIceCandidate candidate;
};

[ Constructor (DOMString type, RTCPeerConnectionIceEventInit eventInitDict)]
interface RTCPeerConnectionIceEvent : Event {
    readonly    attribute RTCIceCandidate candidate;
};

Note:  candidate is NOT nullable. 

Other references discussing the behavior in WebRTC 1.0 (actual vs. specified): 
https://github.com/versatica/JsSIP/issues/72

Received on Tuesday, 5 August 2014 19:49:08 UTC