\fBName\fP

AuElementNotifyEvent - element notify event structure

\fBStructures\fP

#include <audio/audiolib.h>

typedef union _AuEvent

{

    . . .
    AuElementNotifyEvent auelementnotify;
    . . .

}AuEvent;

typedef struct _AuElementNotifyEvent

{

    int type;
    AuUint32 serial;
    AuBool send_event;
    AuServer *server;
    AuTime time;
    AuFlowID flow;
    unsigned char element_num;
    unsigned char kind;
    unsigned char prev_state;
    unsigned char cur_state;
    unsigned char reason;
    AuUint32 num_bytes;

}AuElementNotifyEvent;

\fBMembers\fP

type

The event type. ElementNotify events are type AuEventTypeElementNotify.

serial

The serial ID of the event expanded from the 16 bit value sent by the server.

send_event

AuTrue if the event came from a SendEvent protocol request.

server

The connection to the audio server that the event was read from.

time

The server time in milliseconds when the event was generated.

flow

The ID of the flow that caused the event.

element_num

The index of the element that caused the event or AuElementAll to indicate the flow.

kind

The kind of notify event. This will be one of these constants: AuElementNotifyKindLowWater, AuElementNotifyKindHighWater, or AuElementNotifyKindState.

prev_state

The previous state of the element indexed by element_num. This will be one of these constants: AuStateStop, AuStateStart, or AuStatePause.

cur_state

The current state of the element indexed by element_num. This will be one of these constants: AuStateStop, AuStateStart, or AuStatePause.

reason

The reason for the notify event. This will be one of these constants: AuReasonUser, AuReasonUnderrun, AuReasonOverrun, AuReasonEOF, AuReasonWatermark, or AuReasonHardware.

num_bytes

The number of bytes to send or receive. Only valid if the the element indexed by element_num is an ImportClient or ExportClient.

\fBDescription\fP

ElementNotify events are sent to client applications to notify them of a watermark condition or state change. If kind is AuElementNotifyKindLowWater, the ImportClient element indexed by element_num in flow is ready to receive num_bytes of audio data from the client application. If kind is AuElementNotifyKindHighWater, the ExportClient element indexed by element_num in flow is ready to send num_bytes of audio data to the client application. If kind is AuElementNotifyKindState, the element indexed by element_num (or flow if element_num is AuElementAll) has made a state transition from prev_state to cur_state triggering the event. Reguardless of kind, prev_state and cur_state contain the old and new states and reason contains the reason for the event.

\fBSee Also\fP

AuAnyEvent, AuErrorEvent, AuGrabNotifyEvent, AuMakeSendNotifyAction, AuMonitorNotifyEvent.

audiolib - Network Audio System C Language Interface