Re: [rtcweb] Call for Consensus Regarding Selecting Recommended Audio Codecs

Tim Panton <tim@phonefromhere.com> Mon, 24 December 2012 10:26 UTC

Return-Path: <tim@phonefromhere.com>
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 B645D21F884F for <rtcweb@ietfa.amsl.com>; Mon, 24 Dec 2012 02:26:01 -0800 (PST)
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 k3FUZYiOpELB for <rtcweb@ietfa.amsl.com>; Mon, 24 Dec 2012 02:26:01 -0800 (PST)
Received: from smtp003.apm-internet.net (smtp003.apm-internet.net [85.119.248.52]) by ietfa.amsl.com (Postfix) with ESMTP id 1988D21F8809 for <rtcweb@ietf.org>; Mon, 24 Dec 2012 02:25:56 -0800 (PST)
Received: (qmail 13941 invoked from network); 24 Dec 2012 10:25:55 -0000
X-AV-Scan: clean
Received: from unknown (HELO zimbra003.verygoodemail.com) (85.119.248.218) by smtp003.apm-internet.net with SMTP; 24 Dec 2012 10:25:55 -0000
Received: from [192.67.4.33] (unknown [192.67.4.33]) by zimbra003.verygoodemail.com (Postfix) with ESMTPSA id F3DA818A0AEE for <rtcweb@ietf.org>; Mon, 24 Dec 2012 10:25:54 +0000 (GMT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Apple Message framework v1283)
From: Tim Panton <tim@phonefromhere.com>
In-Reply-To: <50D6C2C9.80004@omnitor.se>
Date: Mon, 24 Dec 2012 10:25:46 +0000
Content-Transfer-Encoding: quoted-printable
Message-Id: <8A68C6DA-B603-4450-A4B8-A72E99996AA5@phonefromhere.com>
References: <BLU404-EAS275E7E8B948E07ECF8847C193340@phx.gbl> <50D6C2C9.80004@omnitor.se>
To: rtcweb@ietf.org
X-Mailer: Apple Mail (2.1283)
Subject: Re: [rtcweb] Call for Consensus Regarding Selecting Recommended Audio Codecs
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: Mon, 24 Dec 2012 10:26:01 -0000

Looks like I'll be a lone voice again.

I'm against any recommendation of use of g722 in webRTC 
If implementers want to provide it that's fine but it should not be in the standard.
Even if it is available it always be at a lower preference than Opus

g722 has several disadvantages over Opus and no real advantages.

1) The spec for g722 contains a historical error, so it's sample rate gets 
declared as 8khz even though it is actually 16khz - this means that the rtp/audio processing code is
littered with if( codec == CODEC_G722) {} else {} clauses to try and implement this mistake.
I've seen g722 mis-implemented more often than any other codec.

2) g722 is a fixed rate codec - it uses 64kbits/sec irrespective of what is available - it won't play nice with any
congestion management that is specified with webRTC

3) g722 sounds ok  (despite using 14 or the available 16 bits)
- provided there is no packet loss - it has no built in FEC or PLC modes, so falls apart 
at quite low loss levels (especially compared to opus).

4) if we mandate g722 then we need to make some  methods  in the constraints API to ensure
that 2 browser endpoints that say they want wideband don't get g722 when they could both be doing opus in
full CELT mode for the same bandwidth.


The often stated advantage is that there are many existing g722 endpoints out there. This is
irrelevant - there is only 1 platform I know of that implements ICE+DTLS-SRTP and g722 but not opus 
(asterisk for the curious and there's an opus patch available). 
 

Tim.