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:
Page 1
alGetFillPoint(3dm)alGetFillPoint(3dm)
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 ALSOalOpenPort(3dm), alGetFD(3dm), alGetQueueSize(3dm), alGetFillable(3dm),
alGetFilled(3dm), oserror(3C)
Page 2