Re: [rtcweb] New Version Notification for draft-guduru-rtcweb-codec-preferences-01.txt

Justin Uberti <juberti@google.com> Mon, 21 July 2014 18:48 UTC

Return-Path: <juberti@google.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DAE181A01E1 for <rtcweb@ietfa.amsl.com>; Mon, 21 Jul 2014 11:48:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.779
X-Spam-Level:
X-Spam-Status: No, score=-0.779 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_15=0.6, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0nOj0wC5ZG_w for <rtcweb@ietfa.amsl.com>; Mon, 21 Jul 2014 11:48:51 -0700 (PDT)
Received: from mail-vc0-x22d.google.com (mail-vc0-x22d.google.com [IPv6:2607:f8b0:400c:c03::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3F5AA1A01BD for <rtcweb@ietf.org>; Mon, 21 Jul 2014 11:48:51 -0700 (PDT)
Received: by mail-vc0-f173.google.com with SMTP id hy10so12805817vcb.4 for <rtcweb@ietf.org>; Mon, 21 Jul 2014 11:48:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=9Du8DTUxGo3feJoI/imAS0E2qUpCemub/ynn91/DU3M=; b=fKn0gr9lf3E1gfsksTjyrHvZAjunLRslCHpw1kcfd7KIEDxvgHj18ci8cDDNDmEkUQ 9xSfmOICEG3LloyuyTGjxgQXjBCNgzp5oWNyD8qaSfmMI2VsrYV1cGqLSHfQpefHlEWR i3Rdaf1OadPv5ocnD0VT46Qa9RNIbPw9aLkOZIiZOwDURPihTOGMHnlCJ8aToft25R6K YYdDEXjXkRmlQPwFU4RTM72nim3GY2W6NQLO/hGUcM64wKRORmjrOx3AwP+S6D9VMH3m 0yvLM40T3zx2cgbjHAjJTC/Iu7cjXPtffoq5U0XiVipATuoicJ9QU5jLzG0oTWGOb3dC pXiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=9Du8DTUxGo3feJoI/imAS0E2qUpCemub/ynn91/DU3M=; b=iiYydd3nJCJ/pt8rFGdVGnUYEDbgAg9d+qOwVxDw5siZCuRpQv54icYoUa2Kuc84pr Ck7+yQ7sHan3giI6F7RVNsGarwbAgAJgtWxEfCR92J4IXxWakTVyjPkCR9JCMQni1J2N xvYsKILG2SA60/7eaPXQBPQppZ+VFYiaNIztgL6Tn8ZPGcDQ5h/JbYPWj5PhI9rB2WQz q7thggIHClvZFOan5AI1eJzNe9BSPHPrFhYVahxkcdFSGO0nHRJxm4leZKWGvoonqfgb bKJcp39fkOAWzLUOvuS0LbZ+S9SZ/4EgaQayqYSEKh9k+uNwrNxHMIAAfJq4KPF4UM+y RPiQ==
X-Gm-Message-State: ALoCoQkZEKI1z8EDWCaZMwrwbX3KiO8JkkSogbsvq/XjuDmuTYDS4CZV+9cTQal0ULMVvyOcuoAV
X-Received: by 10.52.129.232 with SMTP id nz8mr4156200vdb.94.1405968530310; Mon, 21 Jul 2014 11:48:50 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.52.66.242 with HTTP; Mon, 21 Jul 2014 11:48:28 -0700 (PDT)
In-Reply-To: <47.D7.22787.0939CC35@epcpsbgx2.samsung.com>
References: <47.D7.22787.0939CC35@epcpsbgx2.samsung.com>
From: Justin Uberti <juberti@google.com>
Date: Mon, 21 Jul 2014 14:48:28 -0400
Message-ID: <CAOJ7v-2ZXy5VwjBcGgJ0Hu1_hT+sy0X2gK3m+2ovY82tzzph=g@mail.gmail.com>
To: Kiran Kumar Guduru <kiran.guduru@samsung.com>
Content-Type: multipart/related; boundary="bcaec51dd641d0c11d04feb88eea"
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/FNpurPUe9eD54aJGgeOROHCqrbA
Cc: franklin blek <franklin.blek@gmail.com>, "rtcweb@ietf.org" <rtcweb@ietf.org>, "public-webrtc@w3.org" <public-webrtc@w3.org>
Subject: Re: [rtcweb] New Version Notification for draft-guduru-rtcweb-codec-preferences-01.txt
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
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, 21 Jul 2014 18:48:56 -0000

On Mon, Jul 21, 2014 at 12:14 AM, Kiran Kumar Guduru <
kiran.guduru@samsung.com> wrote:

>  Hi Justin,
>
> I don't feel the number of API addition, is a big problem :).
>
You are proposing expanding the API surface of WebRTC 1.0 by over 10%. This
is a significant addition (the current PeerConnection object itself only
has 21 methods), and doesn't count the codec object that would have to be
added to the spec to complete this design.

> I feel this is very useful to add in 1.0. I don't know what made you feel
> the existing usecases to be contrived. AFAIK, apps has that intellegence to
> analyze on the bandwidth utilization.
>
I think the examples are contrived, because they don't show how the apps
would use this API to accomplish the desired behavior. Apps certainly don't
know the power characteristics of the various codecs (i.e. whether they are
hardware-backed or not), and only have indirect knowledge of the bandwidth
situation; they don't have all the details on congestion that the browser
has access to, and could end up incorrectly dropping to a low-bandwidth
codec, or oscillating between codecs, because of the lack of detailed
information.

> One use case I missed in the draft and I would like to add in the next
> version is, the problem arising at gateways, which can only be solved by
> apps, but never by browser as explained below.
>
>
>
> "Considering the usecase off an application is serving the needs between
> webrtc client and non-webrtc client (IMS for example), that does not
> support the mandatory codecs specified for WebRTC, then gateways will solve
> the problem by transcoding.
>
> If a browser is supporting codecs which don't need this kind of
> transcoding, but giving low priority to them, then according to existing
> specifications, the gateway has to accept the offer with priorities
> specified by webrtc (considering the case for webrtc client as offerer)
> client through answer, then again gateway has to send the offer with its
> order of priority to change to codec preferences, resulting in a second
> offer-answer negotiation."  In this kind of usecases API are known about
> the priority of codecs required and we can avoid this kind of unnecessary
> signaling if APIs are provided to apps to prioritize the codecs.
>
>
>
> I hope this example will add some more value to this idea.
>

This is a useful example, thanks for explaining this. But I think this is
the wrong solution. Quoth RFC3264, S. 7:

*   When the offerer receives the answer, it MAY send media on the*
*   accepted stream(s) (assuming it is listed as sendrecv or recvonly in*
*   the answer).  It MUST send using a media format listed in the answer,*
*   and it SHOULD use the first media format listed in the answer when it*
*   does send.*

Note the use of SHOULD vs MUST. Ergo, even if the offer has m=audio 1111
RTP/SAVPF X Y Z, it is completely legal for the callee to apply its own
priorities and send with codec Y or Z instead of X if there are compelling
reasons to do so. This makes more sense to me than doing an immediate
re-offer, or adding APIs to reorder the browser's codec list.

>
>
>
>
> ------- *Original Message* -------
>
> *Sender* : Justin Uberti<juberti@google.com>
>
> *Date* : Jul 21, 2014 12:30 (GMT+09:00)
>
> *Title* : Re: New Version Notification for
> draft-guduru-rtcweb-codec-preferences-01.txt
>
>
> This seems like a pretty big hammer to solve a fairly small problem. This
> proposal adds 6 new API points for the purpose of changing the order of
> codecs in createOffer, which seems like a high cost-benefit ratio. And
> while the use cases listed here are helpful, they seem somewhat contrived
> to me, since it seems unlikely that the application can make better choices
> about bandwidth or power consumption than the browser.
>
> Without a specific, concrete example, I remain unconvinced that this is
> worth doing in the 1.0 timeframe. Post-1.0, we can probably find a way to
> provide this sort of lower-level control.
>
>
> On Sat, Jul 12, 2014 at 9:41 PM, franklin blek <franklin.blek@gmail.com>
> wrote:
>
>> Hi,
>> The draft seems to explain codec preferences in a good way.
>> I think this has a good potenitial to be a part of WebRTC1.0.
>>
>>
>>
>> On Sat, Jul 5, 2014 at 10:26 AM, Kiran Kumar Guduru <
>> kiran.guduru@samsung.com> wrote:
>>
>>>  Hi,
>>>
>>> A new version of codec preferences draft has been published, by
>>> modifying as per the review comments received.
>>>
>>> Please review and let me know your comments.
>>>
>>>
>>>
>>> Thanks & Regards,
>>>
>>> Kiran.
>>>
>>>
>>>
>>> ------- *Original Message* -------
>>>
>>> *Sender* : internet-drafts@ietf.org<internet-drafts@ietf.org>
>>>
>>> *Date* : Jul 02, 2014 18:28 (GMT+09:00)
>>>
>>> *Title* : New Version Notification for
>>> draft-guduru-rtcweb-codec-preferences-01.txt
>>>
>>>
>>>
>>> A new version of I-D, draft-guduru-rtcweb-codec-preferences-01.txt
>>> has been successfully submitted by Kiran Kumar Guduru and posted to the
>>> IETF repository.
>>>
>>> Name: draft-guduru-rtcweb-codec-preferences
>>> Revision: 01
>>> Title: WebRTC Codec Preferences
>>> Document date: 2014-07-02
>>> Group: Individual Submission
>>> Pages: 7
>>> URL:
>>> http://www.ietf.org/internet-drafts/draft-guduru-rtcweb-codec-preferences-01.txt
>>> Status:
>>> https://datatracker.ietf.org/doc/draft-guduru-rtcweb-codec-preferences/
>>> Htmlized:
>>> http://tools.ietf.org/html/draft-guduru-rtcweb-codec-preferences-01
>>> Diff:
>>> http://www.ietf.org/rfcdiff?url2=draft-guduru-rtcweb-codec-preferences-01
>>>
>>> Abstract:
>>>    WebRTC specifies to implement a minimum set of required codecs to
>>>    ensure guaranteed interoperability between WebRTC peers.  WebRTC
>>>    allows browser implementers to support vendor specific codecs apart
>>>    from mandatory codecs.  This document specifies the way for
>>>    JavaScript applications to give preferences for media codecs in
>>>    WebRTC context out of the available codecs in browser for creating
>>>    the offer / answer.
>>>
>>>
>>>
>>>
>>>
>>> Please note that it may take a couple of minutes from the time of
>>> submission
>>> until the htmlized version and diff are available at tools.ietf.org.
>>>
>>> The IETF Secretariat
>>>
>>>
>>>
>>>
>>>
>>>
>>
>
>
>
>
>