Attributes Specific to Queueing

Buffer Traversal

The Buffer traversal attribute specifies the direction in which the sample in the buffer is supposed to be processed. To account for the 3 basic modes of traversal that can be implemented in software and hardware, the following tokens are defined:

         LOOP_DIRECTION     /* traversal direction */

         FORWARD            /* linear forward   (increment) */
         BACKWARD           /* linear backward  (decrement) */
         FORWARD_AND_BACK   /* RESERVED: ping-pong-looping  */
 
       

The first and the next two tokens are legal with a buffer queue command. They are not legal for a Source command, in any possible Source state. The last token is reserved, but not yet legal to use.

NoteAnnotation (Ping-Pong postponed)
 

Definition and implementation of ping-pong looping has been postponed. Applications can fake it at doubling memory expense by reverse copying the buffer (2nd buffer queued or in a double size single buffer). Presuming hardware support, AL will have to support it eventually though. A boolean flag is not acceptable because of this possibility.