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

Ted Hardie <ted.ietf@gmail.com> Fri, 27 October 2017 21:15 UTC

Return-Path: <ted.ietf@gmail.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 60BF913F5D5 for <rtcweb@ietfa.amsl.com>; Fri, 27 Oct 2017 14:15:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 IglKVplTa0Se for <rtcweb@ietfa.amsl.com>; Fri, 27 Oct 2017 14:15:21 -0700 (PDT)
Received: from mail-qk0-x22f.google.com (mail-qk0-x22f.google.com [IPv6:2607:f8b0:400d:c09::22f]) (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 A399813F5A9 for <rtcweb@ietf.org>; Fri, 27 Oct 2017 14:15:21 -0700 (PDT)
Received: by mail-qk0-x22f.google.com with SMTP id w134so9956238qkb.0 for <rtcweb@ietf.org>; Fri, 27 Oct 2017 14:15:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=TYDyWhWDVoL0dZqg6NUvhShdOd6R5/jcjFDFfm54zJU=; b=GEnn6i7m567Slpe1cooEWIP5o9ouzi1zLlXIdLzSOxqxUV1nqe7KvpDlUDWunFoBfS mzWbrhOERW0e0jTli7AjCGE3NbS2m2vbbLk/klsQBplq1yn1nctLDWrsuqQF7WQO1oLy A8CDBEtq8M2kpUPFeR8V7Oh6QCWPAJwU1QDW/u4KfnyxT8Yt2j/ALEtnzNiEoCfQI6Wp oPSqUcNsTwLVYmKnJ0bVgzCJl5PnYcaEHbGX0s5xL0IDKYMByQyfhdcphCZa38WOmFxE Cb1DPHH6RT1N/a972Xk4J6leQXa/QLxADnG+ft0zIG2FQnEsL2OsoH7xPOMI/7nBydC9 WLNg==
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=TYDyWhWDVoL0dZqg6NUvhShdOd6R5/jcjFDFfm54zJU=; b=R9UUaZg8cMJYuH7KOLTjdovHvIp7lpa5SM8R0NY0423TqOKxKrPjal8cvnrsWX6DNj RIhEcVTBT0cj5lvUxgBM330m4RkJbDvjvzvcDw7FJl/uNiHdYSm9tr5LYuzwOY8L1WIc CzeeSXPEyhqnp+nupBpALkOZqjdLRsuIwSIj0ACLB5YTuAjsdSLxLyfK0EFX7edYhZKN UrU8+FTj41xe/zwpgkB5K6AUoU1EJxwcX2ykjfXEALCvSUCnXM5CgaSRIoTK/1IOGBU0 7tdVrEQqRHFfowW+5gGAXpO12fAJ9EoQd7E+lMcEUgh/yYrbVmDp30Fjz8MKxm+0l1lB rHMA==
X-Gm-Message-State: AMCzsaVOhZrJds28qqiOmFJqJ/gZKtUsldMVJ6YlyZiyKkZ+qsrA3pA1 OKPmdG+Zg/1TBAodcZIG+VgXMPPCV3Oy1RFBKsA=
X-Google-Smtp-Source: ABhQp+RFvCBJr/A93vEvJfjwsL8LzqZJCtJe7SVIDcHEqpIbVls1uxAuPMLmqAGteMgVvvETFt62MlNwuEdOcuu4qKA=
X-Received: by 10.55.159.4 with SMTP id i4mr2825167qke.339.1509138920601; Fri, 27 Oct 2017 14:15:20 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.200.40.68 with HTTP; Fri, 27 Oct 2017 14:14:50 -0700 (PDT)
In-Reply-To: <7CA6CF4C-6A92-4198-B2E6-10FB5EC6EA5D@vidyo.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>
From: Ted Hardie <ted.ietf@gmail.com>
Date: Fri, 27 Oct 2017 14:14:50 -0700
Message-ID: <CA+9kkMCWOyTKYB6Z-++JGX7vWHnm7gy2YafdOhpfcH8+F_kJdQ@mail.gmail.com>
To: Jonathan Lennox <jonathan@vidyo.com>
Cc: Justin Uberti <juberti@google.com>, "rtcweb@ietf.org" <rtcweb@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c06f162477f6f055c8dc928"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/GSfed6aov19YaDYF-jbrMiB-VQk>
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: Fri, 27 Oct 2017 21:15:23 -0000

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