Re: [rtcweb] Offer/answer for heterogeneous encode/decode

Martin Thomson <> Sat, 23 November 2013 00:06 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 1A6C01AE2D8 for <>; Fri, 22 Nov 2013 16:06:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.4
X-Spam-Status: No, score=-1.4 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, J_CHICKENPOX_18=0.6, SPF_PASS=-0.001] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id olMLmoQ0AHks for <>; Fri, 22 Nov 2013 16:06:45 -0800 (PST)
Received: from ( [IPv6:2a00:1450:400c:c00::230]) by (Postfix) with ESMTP id A64311AE271 for <>; Fri, 22 Nov 2013 16:06:44 -0800 (PST)
Received: by with SMTP id z12so1782005wgg.3 for <>; Fri, 22 Nov 2013 16:06:36 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=wY+8y1MtIPRgbo4LDf4L7VVzdpgbPZd4lf2AmPtfOTM=; b=b6Ar9OvFStY2ATJT91Mkr87OWSNogESUgA9gV2ckZkn/1vMp3mAQCZQdiyDLvx47nK YpzGCcNSwEo4UxisqdVnCIh4ktK3SDZpyqa3j9xiLBeCl+lnMUhCam1HYT1TNrchdGS0 vIT7Q0a1/ijgnYHbX5vQrZp99rq3K5Z+A1j28fThj0vEDmFanQ3J/DSbLQeyUQwLF2aG QnxyewJLNIQiXkXBdCLTrZwi4k11rKVlgdV+uBQzG/N7OBqlboyiZ0BZK+NKl9/08y/O ff3jrO0wuZhYQ0y93kU1HAdfcFYePxWURMaMSmV5Ks5c9XhdKnaY5skgMRJoQiZ/+GtP wiEg==
MIME-Version: 1.0
X-Received: by with SMTP id o6mr4753546wiz.30.1385165196905; Fri, 22 Nov 2013 16:06:36 -0800 (PST)
Received: by with HTTP; Fri, 22 Nov 2013 16:06:36 -0800 (PST)
In-Reply-To: <>
References: <> <>
Date: Fri, 22 Nov 2013 16:06:36 -0800
Message-ID: <>
From: Martin Thomson <>
To: "Paul Giralt (pgiralt)" <>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Cc: "" <>
Subject: Re: [rtcweb] Offer/answer for heterogeneous encode/decode
X-Mailman-Version: 2.1.15
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: Sat, 23 Nov 2013 00:06:46 -0000

On 22 November 2013 15:44, Paul Giralt (pgiralt) <> wrote:
> While you’re right that it would work for this scenario, my point was really
> that Offer/Answer is not really asymmetric as implied earlier. Take for
> example the hypothetical case where you are only able to decode VP8 but only
> able to encode H.264. If I offer VP8 as my only codec (because it’s the only
> thing I’m able to decode therefore I never want anyone to send me anything
> other than VP8) I cannot send H.264 in the offer because that implies I’m
> able to decode it. The other side then wants to say it can only receive
> H.264 so it would have to send back an answer with only H.264. I guess
> there’s nothing really inherently stopping you from doing this because as
> far as I can tell, 3264 only says the answer has to be a subset of the offer
> for multicast streams, however how would the answering side know that the
> offering side is even capable to receiving H.264? Perhaps Offer/Answer can
> technically be asymmetric, but it doesn’t seem practical to use it this way
> because you cannot really indicate your send and receive capabilities
> independent of each other.

Judicious application of a=sendonly or a=recvonly avoids this issue.
If you want to send H.264, try a=sendonly on a line with H.264.  If
you want to receive VP8, try a=recvonly on a line with VP8.