Re: Validity period of createOffer() offers.

On 06/01/2012 10:55 PM, Eric Rescorla wrote:
> The specification explicitly states that the following snippet is
> guaranteed to succeed (S 4.1.11.2):
>
>    pc.createOffer(function(offer) {
>      pc.setLocalDescription("offer", offer);
>    });
>
>
> Now consider the following snippet:
>
>    pc.createOffer(function(offer) {
>      setTimeout(function() {
>           pc.setLocalDescription("offer", offer);
>        }, 1000);
>    });
>
> The spec suggests that this is not guaranteed to succeed, but is it
> reasonable for the application programmer to expect it to
> succeed? Phrased differently, would an implementation which refused
> any setLocalDescription() outside of the createOffer() callback
> even if no other conditions had changed be conformant?
I would regard it as conformant, but not likely to be popular.

Similarly, I would regard an implementation that always rejected this:

pc.createOffer(function(offer) {
      offer.makeSomeReasonableTweakToTheSDP()
      pc.setLocalDescription("offer", offer);
   });

as conformant, but not likely to be popular.

I don't see how to easily define conformance (in "always" / MUST terms) 
in a way substantially different from "before anything else executes" 
and "without any changes to the SDP".
There may be ways to define what a "reasonable SDP change" and a 
"reasonable expectation of later success" is - once we can write tests 
for them, I'd like to investigate those.

Received on Monday, 4 June 2012 03:22:50 UTC