Re: [rtcweb] MSID fallback for non-MSID case (Re: Plan A, respun)

Emil Ivov <emcho@jitsi.org> Wed, 15 May 2013 05:37 UTC

Return-Path: <emil@sip-communicator.org>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E392D21F898A for <rtcweb@ietfa.amsl.com>; Tue, 14 May 2013 22:37:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.271
X-Spam-Level:
X-Spam-Status: No, score=-2.271 tagged_above=-999 required=5 tests=[AWL=0.328, BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id z8YnOZOVOdL7 for <rtcweb@ietfa.amsl.com>; Tue, 14 May 2013 22:37:01 -0700 (PDT)
Received: from mail-bk0-x233.google.com (mail-bk0-x233.google.com [IPv6:2a00:1450:4008:c01::233]) by ietfa.amsl.com (Postfix) with ESMTP id A78B321F8960 for <rtcweb@ietf.org>; Tue, 14 May 2013 22:37:00 -0700 (PDT)
Received: by mail-bk0-f51.google.com with SMTP id ji2so765026bkc.38 for <rtcweb@ietf.org>; Tue, 14 May 2013 22:36:59 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:message-id:date:from:organization:user-agent :mime-version:to:cc:subject:references:in-reply-to:content-type :content-transfer-encoding:x-gm-message-state; bh=sSY88NeUZjibvQ/KeOTbuLDtjNu+lk9MnAFLEh0Ws8c=; b=ge8mYkEJbywVZyO92rV2gXYGJDc8gizGU3aytIIKmOQdjzAzsO64dVhrFY/wsl/BCr TaD7WGpP3BkxSP+SRNBl4ac3wjZmKkHY8en5CCSMNRMDfOhlIrfibN0TF7Z149t073Cb ZVrvUv5PQgRNweTbHZHJUEbM/MIW5eDBWDQ4fKsVrTGoYepnb5mHTvY9b9PQqrkAVeKa bssF7kuE7HUdVf14xBtscS6LM49ozV6g/Dplr/guUD3F2k0Z+WurQdUmM02WhpvQEaPt TF1w1WssB6Dca3SVQPNWAz5DKqElj8lNm6d4COeoZ42dvgjIxsJ3b6THRHW7VlhLOwIU becg==
X-Received: by 10.205.38.73 with SMTP id th9mr9899190bkb.0.1368596219072; Tue, 14 May 2013 22:36:59 -0700 (PDT)
Received: from [10.1.1.28] (damencho.com. [78.90.89.119]) by mx.google.com with ESMTPSA id fh8sm283486bkc.10.2013.05.14.22.36.56 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 14 May 2013 22:36:57 -0700 (PDT)
Message-ID: <51931EF3.7080108@jitsi.org>
Date: Wed, 15 May 2013 08:36:51 +0300
From: Emil Ivov <emcho@jitsi.org>
Organization: Jitsi
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130328 Thunderbird/17.0.5
MIME-Version: 1.0
To: Harald Alvestrand <harald@alvestrand.no>
References: <51894846.3090102@nostrum.com> <518A304A.1030609@alvestrand.no> <518F6338.8070903@jitsi.org> <518F83E5.4060209@alvestrand.no> <518F9280.6070803@jitsi.org> <518FAD13.9050503@alvestrand.no> <CAPvvaaK1bQ+0DwAWwjN2P1RQOAY2cGC0Hf88od2ZnFA0gu6s4g@mail.gmail.com> <518FF3AE.4050505@alvestrand.no> <5191D6C3.4090604@jitsi.org> <5191FCFB.3090704@jitsi.org> <51922959.3070708@alvestrand.no>
In-Reply-To: <51922959.3070708@alvestrand.no>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-Gm-Message-State: ALoCoQkvd9/sTsJJoW7qeqPOllVRwPwIZgx2rQ157AdpWbuSgjJWTT2D30LI95KaF+uqMuqDbIs3
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] MSID fallback for non-MSID case (Re: Plan A, respun)
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 May 2013 05:37:02 -0000

On 14.05.13, 15:08, Harald Alvestrand wrote:
> On 05/14/2013 10:59 AM, Emil Ivov wrote:
>>
>> On 14.05.13, 09:16, Emil Ivov wrote:
>>> Hey Harald,
>>>
>>> On 12.05.13, 22:55, Harald Alvestrand wrote:
>>>> On 05/12/2013 06:03 PM, Emil Ivov wrote:
>>>>>> Or you could signal none of them and depend on the fallback case in
>>>>>> draft-ietf-mmusic-msid to handle them in a consistent manner, and
>>>>>> use other methods to figure out how to handle them...
>>>>> If you are referring to section 4.1 that you also pasted earlier in
>>>>> this thread, it only talks about one track, per stream, per m= line.
>>>>> This doesn't cover the conferencing case I described in my previous
>>>>> mail (quoted above).
>>>>>
>>>> Changing subject as I'm replying to a subtopic, and because I was
>>>> misunderstanding what Emil was arguing in favour of.....
>>>>
>>>> when I wrote that text, I didn't intend it to cover only one SSRC per
>>>> stream.
>>>> What I intended to say was that when, in an RTP session, a browser gets
>>>> several SSRCs that were not mentioned in signalling, it will send
>>>> several onaddstream signals to the application, each indicating a new
>>>> stream being added, which has exactly one track.
>>> Aha! OK, I understand and it sounds better now that I do.
>> Oh, just thought of something else while reading Stefan's mail: is it
>> really necessary that this should only happen in case no SSRCs have been
>> defined? Why not apply that to any unknown SSRC regardless of whether or
>> not others exist in SDP?
>>
>> The second bullet there talks about a possible race condition but I am
>> not sure I see how this could occur with valid use of O/A.
> 
> The worrying case is:
> 
> A sends offer
> B sends answer (either with or without MSID)
> B starts sending data on some SSRCs
> A receives the data, but has not yet seen the answer
> 
> The two cases are:
> 
> - B sends with MSID. In this case, he expects those specific IDs to be 
> signalled in onaddstream.
> - B sends without MSID. In this case, he expects that A will announce a 
> locally generated ID in onaddstream.
> 
> A can't know the difference between those two before he sees the answer 
> from B.
> In this spec, I've "solved" it by saying that we don't signal 
> onaddstream before we see the answer.
> 
> After the first answer has been seen, either party knows that new SSRCs 
> always will be signalled, so any data on an unknown SSRC can be held 
> until the negotiation announcing it is complete - or discarded as "bad 
> data" if signalling doesn't happen in a reasonable time.
> 
> If we were to permit unknown SSRCs when there are some MSIDs, the 
> decision to announce as "Unsignalled MediaStream" or wait for the 
> offer/answer announcing the MSID it should be announced with has to 
> depend on some other resolution mechanism. I don't like timers, and 
> haven't found a better way to do it.

I didn't get this part. While I see the race condition that occurs
during offer/answer, I am not sure I understand why a new SSRC received
mid-session by either side is ambiguous. If the application had any
intent to announce it, then presumably it would be on the verge of
initiating a new offer/answer. If that were the case, sending the new
stream/track could have been held off until completion of that
offer/answer.

This way one would be able to only announce SSRCs for things such as FEC
and simulcasting (where available) while simple streams could be
delivered immediately.

Emil


-- 
https://jitsi.org