W3C home > Mailing lists > Public > public-media-capture@w3.org > October 2012

RE: synchronization

From: Jim Barnett <Jim.Barnett@genesyslab.com>
Date: Fri, 19 Oct 2012 08:53:18 -0700
Message-ID: <E17CAD772E76C742B645BD4DC602CD8106DB60F4@NAHALD.us.int.genesyslab.com>
To: "Sunyang (Eric)" <eric.sun@huawei.com>, <public-media-capture@w3.org>
I think this is poorly phrased.  The most natural way of reading
"Different MediaStreams do not need to be synchronized" is that if an
app creates MediaStreams m1 and m2, the outputs from m1 and m2 need not
be synchronized with each other.  But that's obvious, given that m1 and
m2 may contain totally different Tracks coming from totally different
devices.  The question is whether m1 and m2 must be synchronized if they
contain the _same_ Tracks.  If we mean that they do not need to be, we
should re-phrase the sentence.  


The preceding sentence is:  "All tracks in a MediaStream are intended to
be synchronized when rendered."   It would be more precise to follow
with:  "In cases where a track appears in multiple MediaStreams, they
may apply differing synchronizations to it. " 


It would be clearest to give an example:  "For example, if a video Track
is placed in two MediaStreams which are displayed in two different
<video> elements, the display in the two elements need not be



P.S.  This is relevant to the recording discussion.  If we intend
synchronization to work as I have defined it above, then we _cannot_ use
TrackLists as an input to recording, since they won't be synchronized.  




From: Sunyang (Eric) [mailto:eric.sun@huawei.com] 
Sent: Wednesday, October 17, 2012 10:58 PM
To: Jim Barnett; public-media-capture@w3.org
Subject: RE: synchronization


That is why in "media capture an streams", it is said " Different
MediaStreams do not need to be synchronized.", "do not need" means
synchronization may happen but not need to happen each time.





From: Jim Barnett [mailto:Jim.Barnett@genesyslab.com] 
Sent: Wednesday, October 17, 2012 11:20 PM
To: public-media-capture@w3.org
Subject: synchronization


The spec says that synchronization happens at the MediaStream level, but
doesn't explain how it occurs.  It also doesn't explain how clients get
media from either MediaStream or Track.  This leaves some edge cases up
in the air.  Suppose we have Tracks t1 and t2 inside MediaStream m1 and
Tracks t2 and t3 inside MediaStream m2:  will m1's clients and m2's
clients see the data from t1 and t3 as synchronized?  t1 and t3 are both
synchronized with t2, but in different MediaStreams.  Is synchronization
transitive across MediaStreams?


Another way to put it is to ask whether the different MediaStreams can
provide different synchronizations.  Can m2 provide data from t2 that is
not synchronized with t1?   If synchronization is purely at the
MediaStream level, it would seem to me that should be allowed.  On the
other hand, if we mean that it is the MediaStream's job to make sure
that the Track _objects_ are synchronized, then if t1 is synced with t2
in one MediaStream, it will be synched with it in _any_ MediaStream.
(So synchronization would be transitive across MediaStreams.)


-          Jim
Received on Friday, 19 October 2012 15:55:14 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:26:12 UTC