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 |