Re: [rtcweb] Proposal for dealing with CNAMEs and MSIDs for synchronization

Magnus Westerlund <magnus.westerlund@ericsson.com> Thu, 14 February 2013 14:41 UTC

Return-Path: <magnus.westerlund@ericsson.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 5C0EC21F8869 for <rtcweb@ietfa.amsl.com>; Thu, 14 Feb 2013 06:41:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.786
X-Spam-Level:
X-Spam-Status: No, score=-105.786 tagged_above=-999 required=5 tests=[AWL=0.463, BAYES_00=-2.599, HELO_EQ_SE=0.35, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AAauv9hXRhc0 for <rtcweb@ietfa.amsl.com>; Thu, 14 Feb 2013 06:41:41 -0800 (PST)
Received: from mailgw2.ericsson.se (mailgw2.ericsson.se [193.180.251.37]) by ietfa.amsl.com (Postfix) with ESMTP id 1C16521F8868 for <rtcweb@ietf.org>; Thu, 14 Feb 2013 06:41:40 -0800 (PST)
X-AuditID: c1b4fb25-b7f366d000004d10-a5-511cf7a30c4e
Received: from esessmw0256.eemea.ericsson.se (Unknown_Domain [153.88.253.124]) by mailgw2.ericsson.se (Symantec Mail Security) with SMTP id 32.B6.19728.3A7FC115; Thu, 14 Feb 2013 15:41:40 +0100 (CET)
Received: from [127.0.0.1] (153.88.115.8) by esessmw0256.eemea.ericsson.se (153.88.115.97) with Microsoft SMTP Server id 8.3.279.1; Thu, 14 Feb 2013 15:41:39 +0100
Message-ID: <511CF7A3.40005@ericsson.com>
Date: Thu, 14 Feb 2013 15:41:39 +0100
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130107 Thunderbird/17.0.2
MIME-Version: 1.0
To: "Timothy B. Terriberry" <tterriberry@mozilla.com>
References: <CABcZeBO105HXWoRAbaAR0fGTCLtDmAyjt-DOM=aKy80sg2SG_Q@mail.gmail.com> <51140038.3040001@ericsson.com> <CABcZeBP_-ce-JT-oDkpkDoRKjrZo+m7NLTcifCOsRBM_qKPTmg@mail.gmail.com> <511407AA.1040501@ericsson.com> <CABcZeBO0oSYw-M-1wVujftiYdBtJ67SBfMp4k5gSm45HFhZ+=A@mail.gmail.com> <92B7E61ADAC1BB4F941F943788C0882804788D71@xmb-aln-x08.cisco.com> <51157034.3020800@alvestrand.no> <51164AFC.80700@ericsson.com> <51165FCA.2040707@alvestrand.no> <511796C6.3050601@ericsson.com> <511820F9.5080806@alvestrand.no> <5118EDC1.2000809@ericsson.com> <5119F155.8090303@alvestrand.no> <511C66BE.7090105@mozilla.com> <511CABC6.3050502@ericsson.com> <511CDFDC.20703@mozilla.com>
In-Reply-To: <511CDFDC.20703@mozilla.com>
X-Enigmail-Version: 1.5
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupnluLIzCtJLcpLzFFi42KZGfG3RnfJd5lAg11/OCzW/mtntzj7o5HJ gcljyZKfTB59B7pYA5iiuGxSUnMyy1KL9O0SuDL2NL5hKVikVbHx9mf2BsYmpS5GTg4JAROJ xQdms0LYYhIX7q1n62Lk4hASOMkoMb97ByOEsxzIuf+REaSKV0BTomf+TTCbRUBV4lfjYhYQ m03AQuLmj0Y2EFtUIFhiw8FVTBD1ghInZz4BqxERMJV4NXEDWA2zgLDEhottQHEODmGBEImV B8GOEBKYySoxY486iM0JtGr59f/sICUSAuISa95wQHTqSUy52sIIYctLNG+dzQzRqi3R0NTB OoFRaBaSxbOQtMxC0rKAkXkVI3tuYmZOernRJkZgoB7c8lt1B+OdcyKHGKU5WJTEecNdLwQI CaQnlqRmp6YWpBbFF5XmpBYfYmTi4JRqYNTJzr9md7juy8yLa65tPcJqZK2hXK//ROG57eOT 9SytDAc/HY76de7/lMuF4muqz5t53L7u86h36i/1FazL5eKnfz5u5KK2ivnx+7wX/7maP5Uw xCyfznd4SdFuE7+4F3cXse25sahRJ7DH9vhE+165bzw2kawb77g9SBHuWHdAgc2TuY6/b5cS S3FGoqEWc1FxIgDRodFwIgIAAA==
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] Proposal for dealing with CNAMEs and MSIDs for synchronization
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
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: Thu, 14 Feb 2013 14:41:42 -0000

On 2013-02-14 14:00, Timothy B. Terriberry wrote:
> Magnus Westerlund wrote:
>> between media sources, a particular encoding and MediaStreamTrack. To my
>> knowledge it is not agreed on what should happen if I have two
>> MediaStreams, each with an audio and video MediaStreamTrack that are the
>> same media source, i.e. microphone and video camera. Even if no
>> configuration for encoding has been done, will the peer receive two
>> copies or are these optimized to send only two RTP streams, one with the
>> audio, one with the video that is used in both?
> 
> I think you have all of the same problems if you simply have two
> MediaStreams with the same MediaStreamTrack locally, without involving
> RTP at all. In the MediaStream Processing API
> <https://dvcs.w3.org/hg/audio/raw-file/tip/streams/StreamProcessing.html> Section
> 2.1, we argued that the best approach is to require that all sinks of a
> MediaStreamTrack advance at the same rate (as otherwise you require
> either multiple decoders or unbounded buffering). I don't think that's
> written down anywhere in either an IETF or W3C spec that's currently
> active.

I don't quite get the example in Section 2.1 in the yellow box. It is
unclear what the URI's represent.

I agree with the sentiment that all copies of the same media resource
will need to be played out in sync also locally. I would like to add
that in the context of different media sources there exist an importance
to have a common clock base and deal with that nominal sampling rates
does not match the actual as measured by the local reference clock.


> 
> Once we have resolved that issue, I think that once you involve
> PeerConnection, the only thing that makes sense is that a series of
> invocations of AddStream() on the sender's PC produces a corresponding
> set of objects on the receiver's PC: if you call AddStream() with two
> MediaStreams that both contain the same MediaStreamTrack, then the
> remote side should create two MediaStreams that also contain the same
> MediaStreamTrack. If a sender wishes to use multiple SSRCs for a single
> track for either layered coding or simulcast or whatever, then following
> draft-alvetrand-mmusic-msid-02, they must have the same value for
> identifier and appdata.

I agree that you need to have the corresponding objects on the receivers
side. When it comes to identifiers I get a bit confused here on how the
MSID draft is supposed to work. It switches between MediaStream and
MediaStreamTrack in section 4. Is the WMS semantics providing the
MediaStream IDs or the MediaStreamTrack IDs the SSRC is associated with?
The current text appears to indicate both. Is the ID making it possible
to distinguish between the two types?


> 
>> If they are then they MUST share the same CNAME in both media streams
>> all the MediaStreamTracks.
> 
> I think it is perfectly reasonable to require that all SSRCs that share
> the same msid attributes (i.e., that belong to the same
> MediaStreamTrack) use the same CNAME. 

MediaStreamTrack or MediaStream?

That should probably be written
> down somewhere (in the msid draft? in the RTP usage draft? I don't have
> a strong opinion, but the former at least involves fewer cross-document
> references). I think that solves the issue you're raising here.

At some point we will need to have a mapping between the API concepts
and RTP to be written up and agreed on. We will have to find the most
suitable spot for that.

> 
>> Yes, it may incur delay, depending on what media operation you are
>> doing. I think the requirement we are discussing is what the sender MUST
>> do so that the receiver can ensure synchronization if they want to.
> 
> Agreed, and I think Harald's answer was that the sender must put the
> tracks it wants synchronized into the same MediaStream, and that the
> browser must then use the same CNAME for any two tracks that belong to
> the same MediaStream (which would have to be applied transitively). I'm
> not sure anyone has disagreed with this. 

Good, lets start with assuming that this has consensus and that if
anyone objects there is time to do that now.


The only question is whether it
> also must use the same CNAME for two different tracks that appear in
> different MediaStreams.

Yes, this is the real question. And I think my answer is it depends.

The issue I have is that different mediaStreams can have different mixes
of tracks, and they can share some or all tracks. From a receivers
perspective it appears necessary to avoid media glitches that a receiver
can determine that a given track is a duplicate of another and ensure
that they are played in sync and on the same time line.

As long as only one encoding and one RTP stream is sent for each media
source then implicit its tracks must have a common CNAME over all the
MediaStreams it occurs in.


Cheers

Magnus Westerlund

----------------------------------------------------------------------
Multimedia Technologies, Ericsson Research EAB/TVM
----------------------------------------------------------------------
Ericsson AB                | Phone  +46 10 7148287
Färögatan 6                | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden| mailto: magnus.westerlund@ericsson.com
----------------------------------------------------------------------