- From: Jan-Ivar Bruaroey <jib@mozilla.com>
- Date: Thu, 30 Apr 2015 12:10:17 -0400
- To: Justin Uberti <juberti@google.com>
- CC: Stefan HÃ¥kansson LK <stefan.lk.hakansson@ericsson.com>, "public-webrtc@w3.org" <public-webrtc@w3.org>
On 4/30/15 12:52 AM, Justin Uberti wrote: > Obviously I prefer a deterministic outcome. But I think it would be > better to not include trackY in the createOffer output - it seems > unintuitive. I think we're forgetting that createOffer is queued. By (sometimes *) queueing createOffer until later, we've made a choice about the state createOffer should run in, and it's not the current state! As a result, copying anything from the current state seems counter-intuitive to me (which properties get copied and which don't?) In the following example, createOffer runs in stable state, with both tracks added prior: function received(offer) { pc.setRemoteDescription(offer); pc.createAnswer().then(answer => { pc.setLocalDescription(answer); pc.addTrack(trackX); pc.createOffer(); // queued until stable state! pc.addTrack(trackY); }); } Excluding trackY here would be a feat, as it gets added way before createOffer runs (in have-remote-offer). Also, why want that? .: Jan-Ivar :. *) "sometimes" is Zalgo. See https://github.com/oren/oren.github.io/blob/master/posts/zalgo.md https://github.com/w3c/webrtc-pc/pull/222 is about removing "sometimes".
Received on Thursday, 30 April 2015 16:10:48 UTC