Re: [codec] WGLC of draft-ietf-codec-opus-07

"Timothy B. Terriberry" <> Sun, 24 July 2011 17:04 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 8BF9521F85F6 for <>; Sun, 24 Jul 2011 10:04:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.307
X-Spam-Status: No, score=-1.307 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, MISSING_HEADERS=1.292]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id XBRMohoE7eBY for <>; Sun, 24 Jul 2011 10:04:56 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 4F44921F85C0 for <>; Sun, 24 Jul 2011 10:04:56 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="4.67,257,1309752000"; d="scan'208";a="171696982"
Received: from (HELO ([]) by with ESMTP; 24 Jul 2011 13:04:55 -0400
X-UNC-Auth-As: tterribe
Received: from [] ([]) (authenticated bits=0) by (8.14.4/8.14.3) with ESMTP id p6OH4l3G028111 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for <>; Sun, 24 Jul 2011 13:04:52 -0400 (EDT)
Message-ID: <>
Date: Sun, 24 Jul 2011 10:04:41 -0700
From: "Timothy B. Terriberry" <>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20101120 Gentoo/2.0.10 SeaMonkey/2.0.10
MIME-Version: 1.0
References: <> <> <000001cc4920$4a72cb40$df5861c0$> <000001cc49a3$328ed4a0$97ac7de0$> <>
In-Reply-To: <>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Subject: Re: [codec] WGLC of draft-ietf-codec-opus-07
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Codec WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 24 Jul 2011 17:04:57 -0000

> I skimmed through the draft, mainly because it is a complicated one

Thanks for the review. Any specific feedback is appreciated.

> * Just below, in the same paragraph:
> «
> The
>     length of the first frame, N1, MUST be no larger than the size of the
>     payload remaining after decoding that length for all code 2 packets.
> »
> =>  I am not sure what it means? Aren't we simply telling that the
> advertised length must not be larger than the actual length (which
> appears logical to be by "definition" of "length")?

Yes, or equivalently, that the implied length of the second frame in 
that packet cannot be negative. The MUST requirement is mainly to ensure 
that packets which describe such a situation are properly rejected (cf. 
"A receiver MUST NOT process packets which violate these rules as normal 
Opus packets," above).

>>> has some (minor) bugs, and the codec supports things that should be done
>> in
>>> the payload such as frame and a feature called "padding".
> Also probably a stupid question for someone new here, but I wondered:
> what is exactly the role of padding? Is there an interest to have a
> fixed size of packets on some platform for instance?

The variation in packet lengths can be used to recover some of the 
information (up to, in low-vocabulary situations, complete spoken 
words), even if the content is encrypted. See the wright08 reference in or the more 

A padding mechanism ensures that this information leak can be 
eliminated. It is explicitly done at the codec layer because the 
presence and/or size of padding may be visible at the transport layer. 
For example, SRTP does not encrypt the RTP header, meaning that the 
RTP-level padding bit is sent in the clear.

I've addressed your other comments in my local version of the draft. 
I'll make sure those edits make it into the next revision.