alGetFillPoint(3dm)                                        alGetFillPoint(3dm)


NAME
     alGetFillPoint, alSetFillPoint - get or set low- or high-water mark for
     an audio port

SYNOPSIS
     #include <dmedia/audio.h>

     int alGetFillPoint(ALport port)

     int alSetFillPoint(ALport port, const int fillpoint)

PARAMETER
     port        expects an ALport structure.  This structure is the returned
                 value of an alOpenPort(3dm) call.

     fillpoint   expects a integer value, the fillpoint, in sample frames.

DESCRIPTION
     alGetFillPoint returns the current fillpoint of a port.

     alSetFillPoint sets the current fillpoint of a port.

     Used with alGetFD(3dm) and select(2) or poll(2), controlling the
     fillpoint lets you block a process until the number of sample frames in
     an audio port reaches a given low- or high-water mark.

     An input port will trigger the return from a select(2) or poll(2) call
     when there are at least fillpoint sample frames available to be read.
     For input ports, use the "readfds" fd_set with select(2) or the POLLIN
     event flag with poll(2).

     An output port will trigger the return from a select(2) or poll(2) call
     when there are more than fillpoint empty sample frames in the port.  For
     output ports, use the "writefds" fd_set with select(2) or the POLLOUT
     event flag with poll(2).

     alSetFillPoint does not perform any validity checking on the fillpoint;
     it is up to the application to pass in a correct value.

     The calls alReadFrames(3dm), alDiscardFrames(3dm), alZeroFrames, and
     alWriteFrames(3dm) may change the fillpoint so you should set it just
     before you call select(2) or poll(2).

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

     alGetFillPoint can fail for the following reason:


     AL_BAD_PORT   port is invalid or null.

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

     alSetFillPoint can fail for the following reasons:

     AL_BAD_PORT   port is invalid or null.

SEE ALSO
     alOpenPort(3dm), alGetFD(3dm), alGetQueueSize(3dm), alGetFillable(3dm),
     alGetFilled(3dm), oserror(3C)


                                                                        Page 2