Re: [rtcweb] inactive m-lines in draft-ietf-rtcweb-jsep-05

Paul Kyzivat <> Tue, 29 October 2013 18:53 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 3722411E827C for <>; Tue, 29 Oct 2013 11:53:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.236
X-Spam-Status: No, score=-0.236 tagged_above=-999 required=5 tests=[AWL=0.201, 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 wE173N-WreVC for <>; Tue, 29 Oct 2013 11:53:26 -0700 (PDT)
Received: from ( [IPv6:2001:558:fe14:43:76:96:62:40]) by (Postfix) with ESMTP id 0C55A11E8282 for <>; Tue, 29 Oct 2013 11:53:22 -0700 (PDT)
Received: from ([]) by with comcast id j3kk1m0080SCNGk546tNAZ; Tue, 29 Oct 2013 18:53:22 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([]) by with comcast id j6tN1m00M3ZTu2S3V6tNei; Tue, 29 Oct 2013 18:53:22 +0000
Message-ID: <>
Date: Tue, 29 Oct 2013 14:53:22 -0400
From: Paul Kyzivat <>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:24.0) Gecko/20100101 Thunderbird/24.0.1
MIME-Version: 1.0
To: Martin Thomson <>
References: <> <>
In-Reply-To: <>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=q20121106; t=1383072802; bh=KPIoDPRB15c19/k75zbxYFKfOuSpxDZa/Juc6ukZxE4=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=tQvP/behMT7tjNHIFrsKAuQkSlVQX60MThVkphjbFq71o0XTDo3fx7Krehxv5caOe 0ah7S65/Z9iEEZ1ht5GyNt612LU8wA1OXSgkYxQo/5xAXs7A8hrkFmGsuIKaaoiOEW kFNLr9//1K7mD3FBKSO+4DWChnP4oVin3p6U10EQJZcmvFGLQAh1/8ACI0HrFiD7BO 4vKcC96bLMIqH6zqb2zSROV4nRMthTWpvAqrSQNatnqg1px1hQn/YidN0WOBKuX7hf ZGxGM1h08srCrXhb/jObUpR+faiGe4ak9se+xSZh9EbsEaNFW/I+J0I2+QzRK5hJQp cSp+onfjwRMWg==
Cc: "" <>
Subject: Re: [rtcweb] inactive m-lines in draft-ietf-rtcweb-jsep-05
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: Tue, 29 Oct 2013 18:53:32 -0000

On 10/29/13 2:27 PM, Martin Thomson wrote:
> On 29 October 2013 08:05, Paul Kyzivat <> wrote:
>> How is this expected to work? Is the browser supposed to do this in the
>> absence of a MediaStreamTrack?
> As I understand it, and my understanding is probably imperfect [22],
> the idea is that at all points where an offer or answer is
> constructed, the using application has access to MediaStreamTrack
> objects that relate to the various m-lines.  Mostly.

My question only pertains to those cases where it doesn't.

> That is, prior to creating an offer, you have the MediaStreamTrack
> instances that relate to what you are sending.  And Prior to creating
> an answer, you have both the tracks you want to send and the ones that
> you want to receive.  Adam has proposed [2] that enabling or disabling
> these tracks causes the appropriate a=sendonly/etc. attribute to be
> set.

This confuses me a little, probably because I am not well informed about 
JSEP. The above implies that for a sendrecv m-line there will be two 
MediaStreamTracks, one for sending and one for receiving. But section 
5.3.1 of JSEP seems inconsistent with that:

    For each non-rejected m= section of a given media type, if there is a
    local MediaStreamTrack of the specified type which has been added to
    the PeerConnection via addStream and not yet associated with a m=
    section, the MediaStreamTrack is associated with the m= section at
    this time.  If there are more m= sections of a certain type than
    MediaStreamTracks, some m= sections will not have an associated
    MediaStreamTrack.  If there are more MediaStreamTracks of a certain
    type than m= sections, only the first N MediaStreamTracks will be
    able to be associated in the constructed answer.  The remainder will
    need to be associated in a subsequent offer.

This maps each MediaStreamTracks of a given type to a different m-line. 
I *thought* the use of "specified type" above meant audio/video. Am I 
missing something?

> The only case that is a little strange is the one relating to the
> received streams when creating an initial offer, where you use the
> OfferToReceiveAudio or OfferToReceiveVideo constraint in order to
> indirectly control the send/recv attributes.

I know that is one way of creating the situation I was wondering about. 
It isn't clear to me if that is the only way.