[gmpi] Re: Reqs 3.9. Time - opening arguments.1

  • From: Paul Davis <paul@xxxxxxxxxxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Thu, 05 Feb 2004 14:24:44 -0500

Tim Hockin scribe:

>If you can't know anything about the future of UST, and you have a single
>CPU system, how can UST timestamps EVER match?
>Unless I misunderstand what you're saying, you can only ever get UST by
>asking what is the UST *RIGHT NOW*.  Two plugins or two threads doing this
>can never, by definition, run at the same time on a single processor.  Maybe
>you can context switch or change to a new plugin before UST changes, but
>that is haphazard at best.  And if UST is based on the cycle clock, you're
>guaranteed to NEVER get the same UST twice.

UST has defined, externally meaningful units (usecs or nanosecs) and
is guaranteed monotonic. If you two events of any kind with two UST
stamps that are N units apart, you know what means. My example used
the same UST stamp because yours did too. In real life, obviously, the
video event and GMPI event would have different UST values, but the
delta between them is known and understandable.

then Mike Berry enscribed:

>       Doesn't this invalid the idea of using this for video sync then? If you
>don't know the relationship between the GMPI timebase and real outside 
>(user) time, how is having the ability to convert to UST going to help? 
>You still have no idea about the relation of your UST time and user 
>time. How can you display a video frame? All you know if the jitter for 
>the process calls.

You know that the video frame N was drawn at UST U2. You know that the
audio frame S was processed (whatever that means) at UST U1. You know
that N and S should have some defined temporal relationship, measured
in the same units as UST, and inferrable from knowing video and audio
frame rates. You can therefore sync the two streams. Without UST, you
can't do this in any even vaguely simple way.

Note: its important that a UST source suffer from low drift+jitter in
the range for which it will be typically used (say,
1usec->1second). Without this guarantee, its not really usable.

And hey, the folks at SGI did all this 10 years ago!


Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules:  Please stay on topic.  You are responsible for your own
words.  Please respect your fellow subscribers.  Please do not
redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: