ALgetframetime(3dm)ALgetframetime(3dm)NAMEALgetframetime - (obsolete) Get the time at which a sample frame came in
or will go out
SYNOPSIS
#include <dmedia/audio.h>
int ALgetframetime(const ALport port, unsigned long long *fnum, unsigned long long *time)
PARAMETERS
port expects the ALport structure for the audio port for which you wish
to know the sample frame number. This structure is the returned
value of the ALopenport(3dm) call.
fnum expects a pointer to an unsigned 64-bit value which is to contain
the resultant sample-frame number.
time expects a pointer to an unsigned 64-bit value which is to contain
the resultant sample-frame time, in nanoseconds.
DESCRIPTIONALgetframetime is obsolete and is provided for backward compatibility.
The preferred function is alGetFrameTime(3dm).
ALgetframetime returns an atomic pair of (fnum, time). For an input port,
the time returned is the time at which the returned sample frame arrived
at the electrical input on the machine. For an output port, the time
returned is the time at which the returned sample frame will arrive at
the electrical output on the machine. ALgetframetime therefore accounts
for all the latency within the machine, including the group delay of the
A/D and D/A converters.
The returned sample frame number is not guaranteed to be in any
application's port. For example, an input sample frame as returned by
ALgetframetime may be "in the future": it has not yet arrived in any
application's port. Similarly, an output sample frame may be "in the
past": it has already gone out of some application's port. In order to
relate the sample frame numbers to those of a particular application's
audio port, the ALgetframenumber call must be used.
ALgetframetime uses the Unadjusted System Time (UST) as its timeline.
This allows it to relate to other media which also use UST. See the man
page for dmGetUST(3dm) for more information on UST.
ALgetframetime can fail for the following reasons:
AL_BAD_PORT
port is invalid.
AL_BAD_NOT_IMPLEMENTED
the feature is not implemented on the given machine. ALgetframetime
is not implemented on Indigo (IP12), 4D/35 (IP12), and Indigo R4K
Page 1
ALgetframetime(3dm)ALgetframetime(3dm)
(IP20) systems.
DIAGNOSTICS
Upon successful completion, ALgetframetime(3dm) returns 0. Otherwise
ALgetframetime(3dm) returns -1 and sets an error number which can be
retrieved with oserror(3C).
SEE ALSOdmGetUST(3dm), ALgetframenumber(3dm), oserror(3C)
Page 2