Re: [MMUSIC] draft-ietf-mmusic-msid-16 is out of sync with WebRTC 1.0

Taylor Brandstetter <deadbeef@google.com> Wed, 13 September 2017 17:01 UTC

Return-Path: <deadbeef@google.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 046F71321B6 for <mmusic@ietfa.amsl.com>; Wed, 13 Sep 2017 10:01:10 -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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, 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 jjXiYqlLOvTT for <mmusic@ietfa.amsl.com>; Wed, 13 Sep 2017 10:01:08 -0700 (PDT)
Received: from mail-wm0-x22c.google.com (mail-wm0-x22c.google.com [IPv6:2a00:1450:400c:c09::22c]) (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 CD96C1320D9 for <mmusic@ietf.org>; Wed, 13 Sep 2017 10:01:07 -0700 (PDT)
Received: by mail-wm0-x22c.google.com with SMTP id i189so11792888wmf.1 for <mmusic@ietf.org>; Wed, 13 Sep 2017 10:01:07 -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=dOsAcMWNArjikKi+ahuZ88kKu/J6rnXmIldQ/PX7pY0=; b=fSzqgYwMR1aYQtyRG5WtNTFoeUYzIDSC/EY9YXruNCewLhFX+23LGzDhUled3RcHv8 khf4vkFlBgNLyd2C8MAavgArFTNLPOyvcrxUdPb6/25iiqOC9m4jzh08TOJWKknbfb7N +L23q0Q3k2llF+FAdCHJHxgdp9+0n6/QrHBDA/DDTOf1pALJuc5e/NIC/VtkJXH8ONig 9sBtFJFKeczAXBnISiB+GJqsuT+J2vM+0LVeTGuoe4aWqoaEIHuq8oTjXN+E5Uxb3LlM AGLlvf4CqV0Z6Xki7VN3M/e7njCmZ8Z7TVRjxEJR7o946rTcrR0Q4baDYbuuU7dGTYnX /PUA==
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=dOsAcMWNArjikKi+ahuZ88kKu/J6rnXmIldQ/PX7pY0=; b=GKfmmITMjwwL0E8a67f9JfOtJzoQf3QtWoYLxas9GIYpPHJXv/TpLQZCMULbxg50gP NWqLQgSqPpd5dPmX4jJ69OQYiH4+XNJ0bQfFiNdjELu5IHHBRa291OqFMmoPxiwilMfU ql+7aQ9mQ6Fy8S+oLAopRjDyVtO8NhH3GNqzBaS44Sml/3YcamzbQEWAvAir7avP60EW xepmvKQ83VFXQV9gbZEFTvHzJkC2UfISRzxxlXf1Dd8hDd159XGzGrEJVUhCat3PGWc2 o1FgHzg6KhZEUnKgmR+YB2t+lNNTT3orrupdXw8NwJAVou3vqSTpXLi0VUiZH7G/cMb3 PPyQ==
X-Gm-Message-State: AHPjjUgvExzs6KPvOVhTcyblCVe6NYYEImoAEo1uM3aSuPAfs/I7rmD0 G1zlTNqsst63xWVILE/OPvTYqwCkKqOB+AB+JkhRaA==
X-Google-Smtp-Source: AOwi7QBffSDVcbpwrSq3Qk4t1fp6TNgcE0pusM8PE/HxBgZ/l+Wk+sTjYoXI0TtFsbVE6Tz5Pw0LEjf2WtEpcWlSK7k=
X-Received: by 10.28.88.201 with SMTP id m192mr2869066wmb.111.1505322066020; Wed, 13 Sep 2017 10:01:06 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.154.54 with HTTP; Wed, 13 Sep 2017 10:01:05 -0700 (PDT)
In-Reply-To: <4D740A1E-0F86-4D41-9ABE-134B2C588AC5@iii.ca>
References: <CAK35n0ZYsjMTGGajpHuzg2_ARvG_V=PMbAPVgWZ9gHu_SMU7BA@mail.gmail.com> <CAK35n0bjyvcBOJBxec2oCkEXRRuGrY-FwhLf4cYXas2HfqB9Hw@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B4CCADFB5@ESESSMB109.ericsson.se> <F7765CFE-01FA-4788-B06F-EBB93C14BE2D@iii.ca> <CAK35n0bHg556nKqYiM4UXBU6RXEKqy=rouPmx723vw+FjzKJRw@mail.gmail.com> <4D740A1E-0F86-4D41-9ABE-134B2C588AC5@iii.ca>
From: Taylor Brandstetter <deadbeef@google.com>
Date: Wed, 13 Sep 2017 10:01:05 -0700
Message-ID: <CAK35n0ak5uC4PBCygvrtitaca=HrFKpWjkkrBoeJcwhf0S8DQQ@mail.gmail.com>
To: Cullen Jennings <fluffy@iii.ca>
Cc: Christer Holmberg <christer.holmberg@ericsson.com>, mmusic WG <mmusic@ietf.org>
Content-Type: multipart/alternative; boundary="001a114422740553560559151b92"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/i0RF5fV-8_duRE7Anr4lNPAttSE>
Subject: Re: [MMUSIC] draft-ietf-mmusic-msid-16 is out of sync with WebRTC 1.0
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Sep 2017 17:01:10 -0000

>
> What I would have expected to happen in this case is when Bob applies the
> remote description, the trackID of that track changes from "generatedB" to
> "trackA".
>

That would mean that MediaStreamTrack IDs can change after creation, which
seems dangerous. It's pretty normal to assume that IDs are immutable.

Based on the conversation we just had in the WebRTC virtual interim
<https://www.w3.org/2011/04/webrtc/wiki/September_13_2017>, it sounds like
the preferred path forward would be to go in the opposite direction, and
say that the "msid-appdata" field is *always* ignored by WebRTC endpoints
(when applying a remote description). We could also go a step further, and
have JSEP never populate the field. Right now JSEP says:

the "a=msid" lines MUST use [the RTCRtpSender's] track's ID.  If no
> MediaStreamTrack is attached, a valid ID MUST be generated
>
> As a JSEP author, do you have any thoughts on that, Cullen?

On Tue, Sep 12, 2017 at 8:34 PM, Cullen Jennings <fluffy@iii.ca> wrote:

>
> > On Sep 12, 2017, at 12:30 PM, Taylor Brandstetter <deadbeef@google.com>
> wrote:
> >
> > Maybe a detailed example will make this more clear:
> >       • Endpoint A ("Alice") creates PeerConnection, adds track to it.
> Suppose this track's ID is "trackA".
> >       • RTCRtpTransceiver is created, along with an RTCRtpReceiver that
> has a track with a randomly generated ID. Let's call it "generatedA".
> >       • Endpoint B ("Bob") does the same thing; suppose they added a
> track with ID "trackB", and a remote track was created with ID "generatedB".
> >       • Alice creates offer, signals to Bob.
> >       • Bob applies remote description. The SDP contains "a=msid:streamA
> trackA", but Bob's remote track ("generatedB") already exists. So it just
> gets added to a stream, and the ID "trackA" gets ignored.
> >       • Bob creates answer, signals to Alice.
> >       • Same thing. The SDP contains "a=msid:streamB trackB", but the
> track ("generatedA") already exists and the ID "trackB" is ignored.
> > The MSID draft clearly doesn't align with this. It assumes a track is
> always created when a new track ID is seen in SDP.
> >
> >
>
> Thanks - that makes it perfectly clear.
>
> What I would have expected to happen in this case is when Bob applies the
> remote description, the trackID of that track changes from "generatedB" to
> "trackA". It seems like that track is being reused to now carry "trackA"
> and is the only way the data survives. It also mirrors what would have
> happened if the track was not created ahead of time and just crated by Bob
> applying the remote offer.