Miles Sound System SDK 7.2a

AIL_register_EOS_callback

The function AIL_register_EOS_callback arranges for callback service to be provided to an application function immediately upon reaching the end of a sample.

AILSAMPLECB AIL_register_EOS_callback(
  HSAMPLE S,
  AILSAMPLECB EOS
);

In Parameters

S
indicates the sample for which end-of-sample (EOS) callback service is desired.
EOS
should be set to the address of the callback function which is to be invoked just after the last audio data block in a sample is merged into the hardware buffer for playback. A value of NULL cancels end-of-sample callbacks.

Returns

The address of the previously-installed EOS callback function handler.

Discussion

EOS callback functions perform essentially the same function as EOB (end-of-buffer) callback functions when single-buffered samples are played. However, when using the low-level streaming functions, the EOB callback will be invoked at every application buffer transition, while EOS will be invoked only when an empty buffer is reached.

Note that EOS callbacks may be invoked from within AIL_start_sample itself, if the amount of sample data is smaller than the internal buffer which MSS fills at sample startup time. Be sure to register your EOS callback before starting the sample.

Most MSS functions can be safely invoked from within callback functions. Exceptions include driver-installation or driver-shutdown functions and any other functions which may perform OS or BIOS calls, such as AIL_init_sequence. These exceptions are noted in the descriptions of the functions involved. If in doubt about whether a particular action may safely be performed from within a callback function, contact RAD Game Tools for assistance.


Group: Digital Audio Services
Related Functions: AILSAMPLECB, AIL_init_sequence, AIL_register_EOB_callback, AIL_register_SOB_callback, AIL_start_sample
Related Basic Types: HSAMPLE
Related FAQs: What's the deal with callbacks - are they threads, interrupts, system timers, or what?

For technical support, e-mail Miles3@radgametools.com
© Copyright 1991-2007 RAD Game Tools, Inc. All Rights Reserved.