Re: [rtcweb] No Plan

Paul Kyzivat <> Thu, 30 May 2013 15:14 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D613D21F9113 for <>; Thu, 30 May 2013 08:14:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.228
X-Spam-Status: No, score=-0.228 tagged_above=-999 required=5 tests=[AWL=0.209, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, RDNS_NONE=0.1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id quOiMxk7C3KZ for <>; Thu, 30 May 2013 08:14:04 -0700 (PDT)
Received: from ( [IPv6:2001:558:fe14:44:76:96:59:227]) by (Postfix) with ESMTP id 1265A21F8FF8 for <>; Thu, 30 May 2013 08:14:03 -0700 (PDT)
Received: from ([]) by with comcast id iB4A1l0021vXlb85CFE3QA; Thu, 30 May 2013 15:14:03 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([]) by with comcast id iFE31l00X3ZTu2S3dFE38B; Thu, 30 May 2013 15:14:03 +0000
Message-ID: <>
Date: Thu, 30 May 2013 11:14:02 -0400
From: Paul Kyzivat <>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130509 Thunderbird/17.0.6
MIME-Version: 1.0
References: <BLU404-EAS183E8C6EC78BF3F108964C793900@phx.gbl> <> <> <>
In-Reply-To: <>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=q20121106; t=1369926843; bh=3n1zo8Ca9srNo7iCcrkEETweHlX30xlryRNBOgEF4Aw=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=ms3oOnBs2nKCEmbykoJ2mtf6fYk8Oe4vHADcIh37sBrVlMORad0xgl+bZPF95HLsm d9QTeEJyiQGl64OMzeaOWCMsbI/ThtH/DpPFovrpx2diDK8wYzHR1S18R2DB5vjHvt 34ueNnhEcTRSyWmo9Q42Laf4a8zvhDGx8xjN/bdxZ7uJnB6U1/MEZvrf7T06V4a+yO bPzTa53M0lIEdOp+kCfBRRRUw1Cm1zJ2gp/dypNsHdfWW12owodhMNxbeJFW2oFr3P mU2vs+GVdt+4CNUyPeEIjAhdnK5ZhXkWPxVfIpVpg6eL9adJTHfquCvDebxOIu0ls4 ZM449e9Da48hg==
Subject: Re: [rtcweb] No Plan
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 30 May 2013 15:14:09 -0000

On 5/30/13 5:03 AM, Enrico Marocco wrote:
> On 5/29/13 11:00 PM, Richard Barnes wrote:
>> Like Paul, I'll reserve a full judgement until I've had a little more
>> time to digest this.  At first read, though, it seems like there's a lot
>> of "magic happens here" in the draft.  There's an example of how you
>> establish a legacy-compatible stream, and an assertion that JS can do
>> the rest.  The truth of this assertion isn't obvious to me.  It would be
>> helpful if the document had an example of, say, how one might add a stream.
> This is how I'd do it, in a way that seems quite consistent with no-plan:
> 1. sender gets the additional local tracks
> 2. sender tells the receiver on the app-specific signalling channel
>     (assuming a plain-english-over-something one): "I can also send you
>     video and audio of a webcam I've just installed in the girls locker
>     room. They'll have SSRC xxx and yyy" (xxx and yyy retrieved through
>     JS API -- kind of what exists in Chrome today for stats)
> 3. receiver responds "Shoot!"

What does the receiver say if it can use the media, but cannot receive 
it over the *existing* audio and video m-lines where it is receiving 
other media already?


> 4. sender attaches the new tracks to the local stream attached to the
>     existing connection
> 	4.1. if appropriate media lines exist (i.e. with the required
>               media type and payloads), new media will be sent there,
>               same ports, new SSRCs
> 	or
> 	4.2. if a new media line is required, the sender receives an
>               event to be handled by an
>               RTCSessionDescriptionCallback-like callback that triggers
>               renegotiation in the usual app-specific way (AFAIK the API
>               doesn't have such an event right now)
> 5. receiver gets addtrack notifications and the application will take
>     care of their display, according to the app-specific information
>     received on the app-specific signalling channel
> The most critical part here is 4.2 (i.e. additional O/A exchanges, what
> no-plan tries to reduce). It would probably never happen when the sender
> is a browser, seldom otherwise.
> I'm certainly not the greatest JS expert, but I don't see an easier way
> to achieve this. I'm also not the greatest expert of legacy RTP devices
> (although I deal with them every day), but I'm pretty convinced that for
> such non-trival scenarios some kind of gatewaying will be required
> anyway. The no-plan approach seems to make it easier than both plan A
> and plan B.
> Enrico
> _______________________________________________
> rtcweb mailing list