Share via


PDD_AudioGetInterruptType (Compact 2013)

3/26/2014

This function determines the cause of the audio interrupt and returns the current device status.

Syntax

AUDIO_STATE PDD_AudioGetInterruptType(void);

Return Value

An integer indicating the type of interrupt. The defined values are listed as follows.

Defined value

Description

AUDIO_STATE_OUT_PLAYING

Sound is currently playing.

AUDIO_STATE_OUT_UNDERFLOW

Sound was playing, but not enough data has been supplied to continue.

AUDIO_STATE_OUT_STOPPED

Playback is stopped.

AUDIO_STATE_IN_RECORDING

Sound is currently recording.

AUDIO_STATE_IN_OVERFLOW

Sound was recording, but the reserve buffer was not processed in time before the DMA needed to write to it again.

AUDIO_STATE_IN_STOPPED

Recording is stopped.

AUDIO_STATE_IGNORE

The interrupt does not represent a state change or update and should be ignored by the MDD. This state can be used to report a PDD private interrupt. For example, initializing a CODEC may generate an interrupt that need not be reported.

AUDIO_STATE_OUT_MASK

Bitmask for the output state (0xF0).

AUDIO_STATE_IN_MASK

Bitmask for the input state (0x0F).

Remarks

This function supports the implementation of the audio PDD.

The PDD reports the status of the playback or record circuitry. The interrupt occurs when the audio DMA passes a buffer boundary. See the AUDIO_STATE return values for the possible states that an interrupt can represent.

AUDIO_STATE is the state of the audio device. This value can represent a state change of either the input or the output circuit or both. The lower 4 bits represents the input status, and the upper 4 bits represents the output status; so if the current interrupt is for both input and output, the values can be combined using the OR operator. However, if the interrupt represents only one circuit, the other 4 bits should remain 0; otherwise, the MDD interprets this as a change or update in the circuit's status.

Requirements

Header

waveddsi.h

See Also

Reference

Audio PDD Functions