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

Kiran Kumar Guduru <kiran.guduru@samsung.com> Tue, 22 July 2014 02:59 UTC

Return-Path: <kiran.guduru@samsung.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 633621A0251 for <rtcweb@ietfa.amsl.com>; Mon, 21 Jul 2014 19:59:32 -0700 (PDT)
X-Quarantine-ID: <YFmOZINC6qwL>
X-Virus-Scanned: amavisd-new at amsl.com
X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "MIME-Version"
X-Spam-Flag: NO
X-Spam-Score: -4.584
X-Spam-Level:
X-Spam-Status: No, score=-4.584 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, J_CHICKENPOX_15=0.6, MIME_HTML_ONLY=0.723, RCVD_IN_DNSWL_HI=-5, RELAY_IS_203=0.994, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001] autolearn=ham
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 YFmOZINC6qwL for <rtcweb@ietfa.amsl.com>; Mon, 21 Jul 2014 19:59:28 -0700 (PDT)
Received: from mailout3.samsung.com (mailout3.samsung.com [203.254.224.33]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1FB371A03BA for <rtcweb@ietf.org>; Mon, 21 Jul 2014 19:59:24 -0700 (PDT)
Received: from epcpsbgr4.samsung.com (u144.gpu120.samsung.co.kr [203.254.230.144]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0N9300MWUEYXBWC0@mailout3.samsung.com> for rtcweb@ietf.org; Tue, 22 Jul 2014 11:59:21 +0900 (KST)
Received: from epcpsbgx3.samsung.com ( [172.20.52.124]) by epcpsbgr4.samsung.com (EPCPMTA) with SMTP id 57.16.13369.983DDC35; Tue, 22 Jul 2014 11:59:21 +0900 (KST)
X-AuditID: cbfee690-b7fb56d000003439-32-53cdd3894212
Received: from epmailer01 ( [203.254.219.141]) by epcpsbgx3.samsung.com (EPCPMTA) with SMTP id E0.95.13458.983DDC35; Tue, 22 Jul 2014 11:59:21 +0900 (KST)
Message-id: <01.95.13458.983DDC35@epcpsbgx3.samsung.com>
Date: Tue, 22 Jul 2014 02:59:21 +0000
From: Kiran Kumar Guduru <kiran.guduru@samsung.com>
To: Justin Uberti <juberti@google.com>
MIME-version: 1.0
X-MTR: 20140722012959340@kiran.guduru
Msgkey: 20140722012959340@kiran.guduru
X-EPLocale: en_US.windows-1252
X-Priority: 3
X-EPWebmail-Msg-Type: personal
X-EPWebmail-Reply-Demand: 0
X-EPApproval-Locale:
X-EPHeader: ML
X-EPTrCode:
X-EPTrName:
X-MLAttribute:
X-RootMTR: 20140722012959340@kiran.guduru
X-ParentMTR:
X-ArchiveUser:
X-CPGSPASS: N
MIME-version: 1.0
Content-type: multipart/related; boundary="=_NamoWEC-rk8v0jzu41"
X-Generator: Namo ActiveSquare 7 7.0.0.45
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrPJsWRmVeSWpSXmKPExsWyRsSkRrfz8tlgg3n3jS3W/mtnd2D0WLLk J1MAYxSXTUpqTmZZapG+XQJXRu/JDSwFDy6wVKxqP83SwNh8kKWLkZNDSEBdYsPqe2wgtoSA icTLa7NZIWwxiQv31gPFuYBqljJKHF/bwQxT1HlxBRNEYg6jxJGPl5lAErwCFhIbZ+wD62YR UJWYfvc6O4jNBtTw68QaRhBbWCBO4syUFWDbRAQ0JN5ebAYbxCzQyihxdedUqJOUJNZevckK MVRQ4uTMJywQm1Ul/h2fD7VMTeLu8s9Qp8pJLJkKcYSEAK/EjPanLDDxaV/XQF0tLXF+1gZG mNcWf38MFeeXOHZ7B1AvB1jvk/vBMGN2b/4CDRUBialnDkK1akm8W9vEDmHzSaxZ+JYFZsyu U8uZYXrvb5nLhOp8DqAfnSQOX/SAKNGUeLSolWUCo/IsJFWobLgOkDCzgKHEl3mPGSFsRYkp 3Q/ZIWw7iW2XjzJhiqtKXDlyjRmm5vanRWzY1Mxa/J8Vpubjjk1YzFeVeP2vgX0BI98qRtHU guSC4qT0IhO94sTc4tK8dL3k/NxNjMBkePrfswk7GO8dsD7EuIIRGP0TmaVEk/OB6TSvJN7Q 2MzIwtTE1NjI3NJsAISVxHnVHiUFCQmkJ5akZqemFqQWxReV5qQWH2Jk4uCUamBk3+XzZ7PF d59wfuHinb0JoWzNcw8nKN9yXsTDHZX3R9qP73VKXuRlriPm6p/PFj6wPSxeFLH7yHEhKxl+ pc8zt39Kv+Hxj3tJ0Gom48frz988vL/nDdub0Jv5lYduX1zZnr7AZekdzffrs17lnVuw7/ZS D79z30r6Nt4yvjmr/+W5KYt/m8vEKrEUZyQaajEXFScCAO/wP0niAwAA
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmrlkOLIzCtJLcpLzFFi42I5/e92r27n5bPBBotXq1is/dfO7sDosWTJ T6YAxqg0m4zUxJTUIoXUvOT8lMy8dFsl7+B453hTMwNDXUNLC3MlhbzE3FRbJRefAF23zByg qUoKZYk5pUChgMTiYiV9O5ui/NKSVIWM/OISW6VoQ3MjPSMDPVMjPUPTWCtDAwMjU6CahLSM 3pMbWAoeXGCpWNV+mqWBsfkgSxcjJ4eQgLrEhtX32EBsCQETic6LK5ggbDGJC/fWA8W5gGrm MEoc+XgZLMEioCox/e51dhCbDajh14k1jCC2sECcxJkpK8AGiQhoSLy92MwE0sws0MoocXXn VKhtShJrr95kBbF5BQQlTs58wgKxTVXi3/H5TBBxNYm7yz+zQsTlJJZMvQx1Ea/EjPanLDDx aV/XMEPY0hLnZ21ghLl68ffHUHF+iWO3dwD1coD1PrkfDDNm9+YvUA8LSEw9cxCqVUvi3dom dgibT2LNwrcsMGN2nVrODNN7f8tcJlTncwD96CRx+KIHRImmxKNFrSwTGGVnIalCZcN1gISZ BQwlvsx7zAhhK0pM6X7IDmHbSWy7fJQJU1xV4sqRa8wwNbc/LWLDpmbW4v+sMDUfd2zCYr6q xOt/DewLGPlWMYqmFiQXFCelVxjrFSfmFpfmpesl5+duYgSn3meLdzD+P299iFGAg1GJh9dC /mywEGtiWXFl7iFGFaA5jzasvsAoxZKXn5eqJMLbvgcozZuSWFmVWpQfX1Sak1p8iPEtIzDh TGSWEk3OB2aMvJJ4Q2MTc1NjUwsDQ3Nzs6EqrCTOG38rKUhIID2xJDU7NbUgtQjmYSYOTqkG xrqqtY0bvJo9o18f2q77aC7ncg0Rz43ily+vEb7tMHfBJXEph90Ttvbev6H69+uDd5vkVzxw PHLh4TqJ/UzdeZ4L2P+ma94NbPNYctHcX0XohJPVTvNsMf9NZ7tOG37JXCFW+e/m9Df/nz7V n/5zrVhpYNodkdbufKk1h65x7DjjG31/sfRkTmslluKMREMt5qLiRACXr6O7mAQAAA==
DLP-Filter: Pass
X-CFilter-Loop: Reflected
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/pUgLfvEpHizVg3BUZfvR0zc5eZc
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
Reply-To: kiran.guduru@samsung.com
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: Tue, 22 Jul 2014 02:59:32 -0000

Samsung Enterprise Portal mySingle

Hi Justin,

Please find my comments inline.

 

------- Original Message -------

Sender : Justin Uberti<juberti@google.com>

Date : Jul 22, 2014 03:48 (GMT+09:00)

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

 




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.
[KIRAN] All the API's are not new here. createOffer and createAnswer are anyhow old APIs only, we are just extending the options for the sake of future streams. (First I thought of to remove modifying this place. After checking the Harald's point that giving the preferences for future streams I felt it is reasonable to add it here).
               We can reduce the number of API's for gettingCodecs to 1 instead of 2. just by modifying
                              getSupportedCodecs(string type);
                This will return the type of codecs based on the type "audio" or "video"
                The other place which we added this is RTCRTPSender/Receiver. I added this API as per your suggestion that the right place to add these is RTCRTPSender/Receiver but not createOffer/Answer.
               I feel the new API addition will now become 3 + constraint addition in createOffer/Answer but not 6.

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.
[KIRAN] Agreed, I think you are expecting some more explenation here. I will add it.
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.
[KIRAN] I don't object this explenation regarding power consumption but certainly some codecs in marked are already proved about thier processing speeds and bandwidth utilizations.
               Regarding knowledge of bandwidth, App can check bandwidhth availability through other APIs. Also in case of using applications using features like video on demand etc, where the APP has the control on bandwidth to increase or decrease the bandwidth, applications can get that knowledge prior to browser through signalling.

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.
[KIRAN] section 7 explains about "offerer processing of the Answer". But I think the correct section for my explanation is section 6, " Generating the Answer", which recommonds to use the same order of preference as that in the offer.
   "Although the answerer MAY list the formats in their desired order of
   preference, it is RECOMMENDED that unless there is a specific reason,
   the answerer list formats in the same relative order they were
   present in the offer."
 
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.
 
[KIRAN] I agree changing the order is leagel but not RECOMMENDED as explained above. So generally implementors may not do this practice.
 
 
Regards,
Kiran.
 
 
 

 

 

------- 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" target="_blank" rel="nofollow">http://www.ietf.org/internet-drafts/draft-guduru-rtcweb-codec-preferences-01.txt
Status:         https://datatracker.ietf.org/doc/draft-guduru-rtcweb-codec-preferences/" target="_blank" rel="nofollow">https://datatracker.ietf.org/doc/draft-guduru-rtcweb-codec-preferences/
Htmlized:       http://tools.ietf.org/html/draft-guduru-rtcweb-codec-preferences-01" target="_blank" rel="nofollow">http://tools.ietf.org/html/draft-guduru-rtcweb-codec-preferences-01
Diff:           http://www.ietf.org/rfcdiff?url2=draft-guduru-rtcweb-codec-preferences-01" target="_blank" rel="nofollow">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 http://tools.ietf.org/" target="_blank" rel="nofollow">tools.ietf.org.

The IETF Secretariat

 

 

http://ext.samsung.net/mailcheck/SeenTimeChecker?do=5b0f67af9090da35275855522705c978a6eec23bffd6f82352ccaaa5e78d7917de6eee2be874e0523ecd3146ba1edb3ef4bcdeced46ed5ee08cece8541bc14eacf878f9a26ce15a0" width="0" height="0">


 

 

http://ext.samsung.net/mailcheck/SeenTimeChecker?do=f4fb70ba8b72c9ec57f2c1e2b174ef8055887c355f06c39a52ccaaa5e78d7917a186e4fcc9aff8ffed1394bf30ba351953cb8b1934afabac2f6aaf3d92ded142cf878f9a26ce15a0" width="0" height="0">