Re: [rtcweb] codec and connection negotiation

Matthew Kaufman <matthew.kaufman@skype.net> Fri, 05 August 2011 18:53 UTC

Return-Path: <matthew.kaufman@skype.net>
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 C0E1E21F8B31 for <rtcweb@ietfa.amsl.com>; Fri, 5 Aug 2011 11:53:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZAPcxQSNqpxy for <rtcweb@ietfa.amsl.com>; Fri, 5 Aug 2011 11:53:20 -0700 (PDT)
Received: from mx.skype.net (mx.skype.net [78.141.177.88]) by ietfa.amsl.com (Postfix) with ESMTP id D05B721F8B30 for <rtcweb@ietf.org>; Fri, 5 Aug 2011 11:53:19 -0700 (PDT)
Received: from mx.skype.net (localhost [127.0.0.1]) by mx.skype.net (Postfix) with ESMTP id 2859D170B for <rtcweb@ietf.org>; Fri, 5 Aug 2011 20:53:36 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=skype.net; h=message-id :date:from:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; s=mx; bh=nLzVSmPBc5ie5o sjPfIwuTt5KyQ=; b=UKTT+BX7+dNf/8HqyZWPC6unU39m8opfXnVKH7DKI2hmWx Ami3ZHeje27Mtn6BPUndFRIfAGGxKD3n1yKwJLgigaVldoRimg6p23te8pD266KM VWIiW34bY9zMiw6CRZuO1XSYBRez1GIFlyZ1Q53PfxEanoyEozXpBiqgCEtyQ=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=skype.net; h=message-id:date:from :mime-version:to:subject:references:in-reply-to:content-type: content-transfer-encoding; q=dns; s=mx; b=vYkA8LTof3zpylEFQ9ep5W y900rK117yflz6E0b/pSG2pnUi8VghxKYbDYrTOQ6L9uVceq51Hs1xqlYh9Bvcg1 Va01EqW3KUzIi6SBGnkzhs1tm4ErG3a/fS4fm6C6IC2HNpjzTdEWdS6W4wCKdBDG CFZwIVuhkiiMZzx6+mEEg=
Received: from zimbra.skype.net (zimbra.skype.net [78.141.177.82]) by mx.skype.net (Postfix) with ESMTP id 2702ACF for <rtcweb@ietf.org>; Fri, 5 Aug 2011 20:53:36 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1]) by zimbra.skype.net (Postfix) with ESMTP id 07899350803A for <rtcweb@ietf.org>; Fri, 5 Aug 2011 20:53:36 +0200 (CEST)
X-Virus-Scanned: amavisd-new at lu2-zimbra.skype.net
Received: from zimbra.skype.net ([127.0.0.1]) by localhost (zimbra.skype.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MXMs4ZJjyqzS for <rtcweb@ietf.org>; Fri, 5 Aug 2011 20:53:35 +0200 (CEST)
Received: from [10.10.155.2] (unknown [198.202.199.254]) by zimbra.skype.net (Postfix) with ESMTPSA id 3F08C3508034 for <rtcweb@ietf.org>; Fri, 5 Aug 2011 20:53:35 +0200 (CEST)
Message-ID: <4E3C3C2C.4020808@skype.net>
Date: Fri, 05 Aug 2011 11:53:32 -0700
From: Matthew Kaufman <matthew.kaufman@skype.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.18) Gecko/20110616 Thunderbird/3.1.11
MIME-Version: 1.0
To: "rtcweb@ietf.org" <rtcweb@ietf.org>
References: <4E3C377A.5090105@skype.net>
In-Reply-To: <4E3C377A.5090105@skype.net>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Subject: Re: [rtcweb] codec and connection negotiation
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: Fri, 05 Aug 2011 18:53:20 -0000

Now, to follow up on my previous message with a bit of opinion...

I think we should not use SDP as the API, and we should not have the 
browser implementing SDP offer-answer.

1. If SDP offer-answer is all that is available to the Javascript 
programmer (and server programmer), it becomes very difficult to know 
what the full capability set is without complex probing. This 
significantly complicates the building of future innovative applications 
on top of the browser as platform. Many of the current applications that 
show off browser capabilities do so by using capabilities that were 
already present for other reasons, and we can expect the same innovation 
to occur here, if we provide the tools.

2. Using SDP offer-answer has the advantage of reusing all the IETF 
standards work that occurs to define SDP when a new codec comes along. 
But it also has the *disadvantage* of having to wait for the IETF to 
produce these standards, which may be incomplete, or unable to control 
parameters which are necessary for web applications.

3. Anything that is missing in SDP (example: forcing the Opus codec to 
"music" mode for encoding) will still need to be exposed as a Javascript 
API on the encoder. Thus we end up with a mix of possibly-conflicting 
settings that are adjusted via the explicit API and the opaque SDP API.

4. Other work in browsers (like recording camera and microphone to disk) 
will require the ability to directly control the encoders. If these APIs 
exist then there will definitely be conflicting settings. What happens 
if you feed in an SDP answer that requires VP8 encoding and then set the 
encoder to H.264 mode via the Javascript?


Matthew Kaufman