Re: [rtcweb] JSEP: codecs in answer: ordering (was codecs in answer: MUST vs. MAY)

Taylor Brandstetter <deadbeef@google.com> Mon, 30 October 2017 22:06 UTC

Return-Path: <deadbeef@google.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 2CC631389AC for <rtcweb@ietfa.amsl.com>; Mon, 30 Oct 2017 15:06:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
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 PuJzYSOAp6Dp for <rtcweb@ietfa.amsl.com>; Mon, 30 Oct 2017 15:06:31 -0700 (PDT)
Received: from mail-ua0-x231.google.com (mail-ua0-x231.google.com [IPv6:2607:f8b0:400c:c08::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 953DD13FC3E for <rtcweb@ietf.org>; Mon, 30 Oct 2017 15:06:25 -0700 (PDT)
Received: by mail-ua0-x231.google.com with SMTP id w45so10634309uac.3 for <rtcweb@ietf.org>; Mon, 30 Oct 2017 15:06:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=ZMg357tP5cgQnm8yJmQkYtSSGJGTbNPghVjdQUY8tDc=; b=KUA9qF1UOXkawaROamUswIDcYfWT8mK1KSYqzXDnJA99orGAKGpOpeObM+KOjCK5qE 6Ako21C5dPuY4UvkTWLWat/Zwcf4LhzGOvZX0FFpElxdcNBFyu5p9o5VAm1qfpqaiCci oW7ujIeAk7F0RgxTw25CtblHEtF97iagwBr4ETM7NcX+ZCUL4iVMpbfQ1FbKsFOnyCO1 E5/+ydZCDNNiNhS7jikLq5mxGeeL0HUn3rkBlG/y5S58TM3PbcmN+lMJEAVz0xtNW4J4 8fvnHqywKPyJtywTKDrtr58LyzopD8qpzWvjcuMh1ylNwKb5IPkcHuC2uihA2e+sjNYV 3Dgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ZMg357tP5cgQnm8yJmQkYtSSGJGTbNPghVjdQUY8tDc=; b=VHmEW/H8jSMhrGkA7o1qSV4mb1+aRScl9b5sCIL/mMAWzDizEorHISMgtfygajMRRR MuRHf5S5f+zzrwfMZwAvKYsoeN+vC3ksNgwIpHDl5fOoNaJ/JpONI2AJeECA95dXZ/pL u45KMJscj5EHKRgtFavkZRU9xU4Ywd9fbBDmBOPAjqfCw1Z9/IvlXp11u4OF802IqJpt zNWmp1i9b+55Ok1nA4dcfazJvaJ94zZI2ZrPiE3URVd+tEla5bwAL0PPzDZ2lj/gBW7j 1SmpRALw4hUxI5ijTiO5U1rznEdLC6nK0Qrjup4d5aRf13qhMknOs0Ya/RUJ9aFx+S36 EUJA==
X-Gm-Message-State: AMCzsaWps57oKR6ESyuDW4pItLAwSfqWZhTbhmvznQisRQF7XGwxp7ZB 9n3DvxlLAwls5u/ud1/fF0DCZ5oaVp4O2zUZuAkguA==
X-Google-Smtp-Source: ABhQp+RkNMuXFb5LeNjFsyPjxqjNHcNy1zpfYp5TH93QvIXTGFRT7fYjfbP5eibKd0ySLNa35Y1/qXDnfmrODFm4+VQ=
X-Received: by 10.159.57.227 with SMTP id p35mr8993810uag.198.1509401184431; Mon, 30 Oct 2017 15:06:24 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.31.76.134 with HTTP; Mon, 30 Oct 2017 15:06:23 -0700 (PDT)
In-Reply-To: <CA+9kkMCWOyTKYB6Z-++JGX7vWHnm7gy2YafdOhpfcH8+F_kJdQ@mail.gmail.com>
References: <4CB5EF91-8CB2-433F-85E9-A86140CECC62@vidyo.com> <CA+9kkMDJEggHar5JbBb9GaNMBsZjgvO0F2VN5UVObv-3VTzE4w@mail.gmail.com> <CAOJ7v-2FEpidRsFf3Km5XjW5Jj7gXC2h9Pcy_GWOqb_P7jTHQw@mail.gmail.com> <2CFCA859-B941-4AFF-B80A-792509EED6F5@vidyo.com> <7CA6CF4C-6A92-4198-B2E6-10FB5EC6EA5D@vidyo.com> <CA+9kkMCWOyTKYB6Z-++JGX7vWHnm7gy2YafdOhpfcH8+F_kJdQ@mail.gmail.com>
From: Taylor Brandstetter <deadbeef@google.com>
Date: Mon, 30 Oct 2017 15:06:23 -0700
Message-ID: <CAK35n0bzgO9Qu-zzAQ_VFZWZCGVuXSKNm_BxDoxHQWOgkHd5FA@mail.gmail.com>
To: Ted Hardie <ted.ietf@gmail.com>
Cc: Jonathan Lennox <jonathan@vidyo.com>, "rtcweb@ietf.org" <rtcweb@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c19f2106c8988055ccad905"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/vWYqyJYSmMq73-DuWOizmLTwJxs>
Subject: Re: [rtcweb] JSEP: codecs in answer: ordering (was codecs in answer: MUST vs. MAY)
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.22
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: <https://mailarchive.ietf.org/arch/browse/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, 30 Oct 2017 22:06:33 -0000

Hi Jonathan,

This is why we have setCodecPreferences. There are certainly use cases
where you *do* want to list codecs in browser preference order. And there
are cases where you don't. setCodecPreferences lets the application
developer decide which is appropriate.

Regards,
-Taylor

On Fri, Oct 27, 2017 at 2:14 PM, Ted Hardie <ted.ietf@gmail.com> wrote:

> Hi Jonathan,
>
> On Fri, Oct 27, 2017 at 1:05 PM, Jonathan Lennox <jonathan@vidyo.com>
> wrote:
>
>> Another question about JSEP’s codec answer rules.
>>
>> The spec currently says:
>>
>>    o  Otherwise, the media formats on the m= line MUST be generated in
>>>>       the same order as those offered in the current remote description,
>>>>       excluding any currently unsupported formats.  Any currently
>>>>       available media formats that are not present in the current remote
>>>>       description MUST be added after all existing formats.
>>>>
>>>>
>>> This is what you do if codec preferences are not set (keep the order,
>>> add any new ones to the end)
>>>
>>
>> Why are remotely-unsupported codecs added at the end of the list, rather
>> than just listing all locally-supported codecs in the browser’s preference
>> order?
>>
>> My concern is in an SFU conferencing scenario.  Consider the following:
>>
>> * Participant 1 joins a conference.  It supports only codec A.
>> * Participant 2 joins the conference.  It supports codecs A and B, but
>> prefers B.  Since the conference can only do A, if the offer/answer
>> exchange goes SFU->Participant, the participant’s answer must list its
>> codecs as A, B.
>> * Participant 3 joins the conference.  It is the same as Participant 2,
>> preferring B to A.
>>
>> If participant 1 leaves, the SFU can re-offer to participants 2 and 3;
>> but as far as it knows, everyone prefers A to B, so the conference can end
>> up in a scenario where everyone’s using a less-preferred codec.
>>
>>
>>
> I would suggest that instead, the browser’s codec preference order always
>> be sent as-is in an answer (unless overridden by the app with
>> setCodecPreferences).  This also has the benefit of aligning the behavior
>> with and without app codec preferences, rather than having two separate
>> behaviors (where the order is fixed if the app has set codec preferences,
>> and mirrored otherwise).
>>
>
> So, we're currently past WG last call and IETF last call, with the draft
> in IESG evaluation.  This proposal appears to change a method that has been
> agreed through all of those process and which produces a correct answer.
> While it may bee mildly suboptimal for the duration of the conference in
> the case above, it works and simplifies the conference behavior by
> presuming no re-offer occurs until a participant 4 arrives who does only B
> (If participant 1 has left, the conference can then re-offer codec B to 2
> and 3).
>
> While I appreciate the care you're going through with this, I don't
> believe that this trade-off rises to the level of concern that would
> warrant re-opening the question.
>
> regards,
>
> Ted
>
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>
>