>Paul,
>As you obviously know more about Jack than I do, can you explain how an API
>like Jack could provide information to the APP so that Audio and Video can
>be kept in sync.

JACK doesn't do that. JACK is run by a single timing source (called a
"driver"). that timing source can come from anything - an audio
interface, a network card, the RTC, a SMPTE signal, even a user
tapping on the space bar. Given the "ticking" of that timing source,
JACK ensures that every client is run synchronously and in an order
reflecting the current state of connections within the JACK system.

Conventional video and audio do not run at the same speed in any
system. The number of video frames per second is never an integer
multiple of the number of audio frames. Therefore, neither an audio
time source nor a video time source can be used to trivially keep the
opposite data stream in sync. Whether the time source comes through
JACK or something else, it always requires a certain amount of
intelligence *somewhere* (typically in the application) to keep audio
+ video in sync. This is true of keeping any two sets of streaming data in
sync that do not run at integer multiples of each other's rates.

ALSA can't help with this either - like JACK, all it can tell you
about is the passage of audio time - you still have to convert this
into units of video frames and then act accordingly.

All JACK does is to notify your client that the client should do
`nframes' worth of work right now, and if the client also wants to
know when `now' is, it can find that out too. This is done by
accessing a "time info" structure that is maintained by both the
server and a "timebase client". its up to the user to select the
timebase client. the time info structure provides information on the
system's current "absolute time", which may move in any direction, at
any rate at any time. clients that wish to stay in sync with the
timebase client must be prepared to deal with this. (not all this code
is not in CVS or the tarball yet)

Beyond that, you're on your own just as you are in other systems.

I suggest that we move this conversation to
[EMAIL PROTECTED] Subscribe via http://jackit.sf.net/

--p

_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to