Xaudio Command Messages


Message Index


XA_MSG_NOTIFY_READY

Notifies that the player is ready to start accepting messages.
None.

XA_MSG_NOTIFY_ACK

Notifies that the last command message received has been successfully processed.
The message contains the code of the message that is being acknowledged.
message.ackunsigned char code of the message that is being acknowledged.

XA_MSG_NOTIFY_NACK

Notifies that the last command message received could not be successfully processed.
The message contains the code of the message that is being negatively acknowledged, and an error code that identifies the reason for the failure.
message.nack.commandunsigned char code of the message that is being negatively acknowledged.
message.nack.codeshort error code that tells the reason for the failure.

XA_MSG_NOTIFY_EXITED

Notifies that the player has deleted its resources and exited.
None.

XA_MSG_NOTIFY_PONG

Notifies a pong tag in response to a XA_MSG_COMMAND_PING message.
The message contains the tag value of the XA_MSG_COMMAND_PING message that triggered this response.
message.tagunsigned long tag value (user-defined).

XA_MSG_NOTIFY_PLAYER_STATE

Notifies that the player's state has changed.
The value of the player's state is passed with the message.
Valid values for the state are:
XA_PLAYER_STATE_STOPPED: the player is stopped.
XA_PLAYER_STATE_PLAYING: the player is playing.
XA_PLAYER_STATE_PAUSED: the player is paused.
XA_PLAYER_STATE_EOF: the player has reached the end of the input stream (the client would typically send a message to tell to open the next input stream when it receives this).
message.stateunsigned char player state value.

XA_MSG_NOTIFY_PLAYER_MODE

Notifies that the player's behavior mode.
The value of the player's mode is an OR'ed combination of mode flags.
See the documentation for the XA_MSG_SET_PLAYER_MODE message for more details.
message.modeunsigned long player mode.

XA_MSG_NOTIFY_PLAYER_ENVIRONMENT_INTEGER

Notifies the value of an integer environment variable.
message.environmemt.nameconst char * name of the environment variable.
message.environment.value.integerlong variable's integer value.

XA_MSG_NOTIFY_PLAYER_ENVIRONMENT_STRING

Notifies the value of a string environment variable.
message.environmemt.nameconst char * name of the environment variable.
message.environment.value.stringconst char * variable's string value.

XA_MSG_NOTIFY_INPUT_STATE

Notifies that the player's input state has changed.
The new value of the player's input state is passed with the message.
Valid values for the state are:
XA_IO_STATE_CLOSED: the input is closed.
XA_IO_STATE_OPEN: the input is open.
message.stateunsigned char new state of the player's input.

XA_MSG_NOTIFY_INPUT_NAME

Notifies of the player's current input name.
message.namechar * player's input name.

XA_MSG_NOTIFY_INPUT_CAPS

Notifies of the player's current input capabilities.
This is typically useful to be notified wether it is possible to seek into an input stream (an disabling a seek bar for instance, if it is not).
The flag XA_DECODER_INPUT_SEEKABLE indicates wether it is possible to seek or not.
message.capsunsigned long player's input capabilities.

XA_MSG_NOTIFY_INPUT_POSITION

Notifies that the player's input position has changed.
message.position.offsetunsigned long current number of position 'steps' elapsed from the start of the stream.
message.position.rangeunsigned long total number of position 'steps' in the stream.

XA_MSG_NOTIFY_INPUT_POSITION_RANGE

Notifies the value of the player's input position range.
message.rangeunsigned long player's input position range.

XA_MSG_NOTIFY_INPUT_TIMECODE

Notifies that the player's input timecode has changed.
message.timecode.hunsigned char number of hours.
message.timecode.munsigned char number of minutes.
message.timecode.sunsigned char number of seconds.
message.timecode.funsigned char number of fractions (100 fractions per second).

XA_MSG_NOTIFY_INPUT_TIMECODE_GRANULARITY

Notifies the value of the player's input timecode granularity.
message.granularityunsigned long timecode granularity.

XA_MSG_NOTIFY_INPUT_DURATION

Notifies the duration of the current input stream.
message.durationunsigned long duration in seconds.

XA_MSG_NOTIFY_INPUT_STREAM_INFO

Notifies information about the current input stream.
message.stream_info.levelunsigned char MPEG level (1 for MPEG 1, 2 for MPEG 2, 0 for MPEG 2.5).
message.stream_info.layerunsigned char MPEG layer (1, 2 or 3).
message.stream_info.bitrateunsigned short bitrate in bits per second.
message.stream_info.frequencyunsigned short sampling frequency in Hz.
message.stream_info.modeunsigned char MPEG mode (0 for stereo, 1 for joint-stereo, 2 for dual-channel, 3 for mono).

XA_MSG_NOTIFY_INPUT_MODULE

Notifies of the player's current input module ID.
message.module_idshort player's input module ID.

XA_MSG_NOTIFY_INPUT_MODULE_INFO

Notifies information about an input module.
message.module_info.idunsigned char ID of the module.
message.module_info.nb_devicesunsigned char number of devices handled by this module.
message.module_info.nameconst char * name of the module.
message.module_info.descriptionconst char * description of the module.

XA_MSG_NOTIFY_INPUT_DEVICE_INFO

Notifies information about an input device of an input module.
message.device_info.module_idunsigned char ID of the module this device belongs to.
message.device_info.indexunsigned char index of this device within a module (first is 0).
message.device_info.flagsunsigned char device flags.
message.device_info.nameconst char * device name.
message.device_info.descriptionconst char * device description.

XA_MSG_NOTIFY_INPUT_FILTER_INFO

Notifies information about an input filter.
message.filter_info.nameconst char * filter name.
message.filter_info.idshort ID of the filter.

XA_MSG_NOTIFY_OUTPUT_STATE

Notifies that the player's output state has changed.
The new value of the player's output state is passed with the message.
Valid values for the state are:
XA_IO_STATE_CLOSED: the output is closed.
XA_IO_STATE_OPEN: the output is open.
message.stateunsigned char new state of the player's output.

XA_MSG_NOTIFY_OUTPUT_NAME

Notifies of the player's current output name.
message.namechar * player's output name.

XA_MSG_NOTIFY_OUTPUT_CAPS

Notifies of the player's current output capabilities.
message.capsunsigned long player's output capabilities.

XA_MSG_NOTIFY_OUTPUT_VOLUME

Notifies of the player's current output volume.
message.volume.master_levelunsigned char player's output volume master level.
message.volume.pcm_levelunsigned char player's output volume PCM level.
message.volume.balanceunsigned char player's output balance.

XA_MSG_NOTIFY_OUTPUT_BALANCE

Notifies of the player's current output balance.
message.volume.balanceunsigned char player's output balance.

XA_MSG_NOTIFY_OUTPUT_PCM_LEVEL

Notifies of the player's current output PCM level.
message.volume.pcm_levelunsigned char player's output PCM level.

XA_MSG_NOTIFY_OUTPUT_MASTER_LEVEL

Notifies of the player's current output master level.
message.volume.master_levelunsigned char player's output master level.

XA_MSG_NOTIFY_OUTPUT_CHANNELS

Notifies of the player's current output channels configuration.
message.channelsunsigned char player's output channels configuration.

XA_MSG_NOTIFY_OUTPUT_PORTS

Notifies of the player's current output ports configuration.
message.portsunsigned long player's output ports configuration.

XA_MSG_NOTIFY_OUTPUT_MODULE

Notifies of the player's current output module ID.
message.module_idshort player's output module ID.

XA_MSG_NOTIFY_OUTPUT_MODULE_INFO

Notifies information about an output module.
message.module_info.idunsigned char ID of the module.
message.module_info.nb_devicesunsigned char number of devices handled by this module.
message.module_info.nameconst char * name of the module.
message.module_info.descriptionconst char * description of the module.

XA_MSG_NOTIFY_OUTPUT_DEVICE_INFO

Notifies information about an output device of an output module.
message.device_info.module_idunsigned char ID of the module this device belongs to.
message.device_info.indexunsigned char index of this device within a module (first is 0).
message.device_info.flagsunsigned char device flags.
message.device_info.nameconst char * device name.
message.device_info.descriptionconst char * device description.

XA_MSG_NOTIFY_OUTPUT_FILTER_INFO

Notifies information about an output filter.
message.filter_info.nameconst char * filter name.
message.filter_info.idshort ID of the filter.

XA_MSG_NOTIFY_CODEC_EQUALIZER

Notifies of the player's current codec equalizer values.
message.equalizer_infoXA_EqualizerInfo * pointer to a codec equalizer info structure, or NULL if the equalizer has been disabled.

XA_MSG_NOTIFY_NOTIFICATION_MASK

Notifies of the current notification mask.
message.notification_maskunsigned long current notification mask.

XA_MSG_NOTIFY_PROGRESS

Notifies of a progress message (typically used by input modules like the network streaming module to notify the client of progress info like buffer fullness, network connection status, etc...).
message.progress_info.sourceunsigned char ID of the module that sent the message.
message.progress.codeunsigned char progress code (user-defined).
message.progress.valueshort a progress value.
message.progress.messageconst char * a user-defined string that gives textual information about the progress message.

XA_MSG_NOTIFY_ERROR

Notifies of an error message.
message.error.sourceunsigned char ID of the module that sent the message.
message.error.codeshort error code.
message.error.messageconst char * a user-defined string that gives textual information about the error.

XA_MSG_NOTIFY_DEBUG

Notifies of a debug message.
Debug messages are used by the decoder and the different input and output modules and filters to send back debug information that can be displayed by the client application.
message.debug.sourceunsigned char ID of the module that sent the message.
message.debug.levelunsigned char debug level.
message.debug.messageconst char * a user-defined string that gives textual debug information.