alGetLimiting(3dm)                                          alGetLimiting(3dm)


NAME
     alGetLimiting, alSetLimiting - request limiting for AL floating-point
     output

SYNOPSIS
     #include <dmedia/audio.h>

     int alGetLimiting(ALconfig config)
     int alSetLimiting(ALconfig config, int value)

PARAMETER
     config  expects an ALconfig structure, the returned value of a call to
             alNewConfig(3dm) or alGetConfig(3dm).

     value   expects a boolean value (0 or 1) indicating whether or not
             limiting is required on floating-point to integer data conversion
             for alWriteFrames(3dm) or alWriteBuffers(3dm).

DESCRIPTION
     alSetLimiting indicates whether or not an application requires limiting
     when the AL converts floating-point data to integer on output. This value
     potentially affects the behavior of both alWriteFrames(3dm) and
     alWriteBuffers(3dm).

     If limiting is on, the AL will always limit floating-point output data to
     the limits specified by alSetFloatMax(3dm).  If limiting is off, the AL
     is free to choose whether or not it performs limiting. In some cases,
     turning limiting off may increase performance, particularly in
     applications producing many output channels of audio.

     alGetLimiting returns the current value of the limiting hint, either 0 or
     1.

DIAGNOSTICS
     Upon successful completion, alSetLimiting returns 0. Otherwise,
     alSetLimiting returns -1 and sets an error number which can be retrieved
     with oserror(3C).

     alSetLimiting can fail for the following reasons:

     AL_BAD_CONFIG     config is invalid or null.

     alGetLimiting returns -1 in the case of failure and sets an error number
     which can be retrieved with oserror(3C). When successful, alGetLimiting
     returns the current value of the limiting hint in config.

     alGetLimiting can fail for the following reason:

     AL_BAD_CONFIG   config is invalid or null.


NOTE
     These functions were introduced via patch to IRIX 6.3 and 6.4, and are
     present by default in later OS releases.  You should ensure that the
     target system will have the functionality before calling these functions;
     otherwise, your program will crash when you attempt to make the function
     call. To determine if the feature is present, check the value of
     AL_VERSION on the system resource. The parameter must be present and its
     value must be at least 6.

               pv.param = AL_VERSION;
               alGetParams(AL_SYSTEM,&pv,1);
               if (pv.sizeOut < 0 || pv.value.i < 6) {
                   /* feature not present */
               }


SEE ALSO
     alNewConfig(3dm), alGetConfig(3dm), alOpenPort(3dm), alSetConfig(3dm),
     alSetSampFmt(3dm), oserror(3C), alWriteFrames(3dm), alWriteBuffers(3dm)


                                                                        Page 2