typedef struct {
BYTE bAST_Ns; // Number of Audio Streams available (1 to 8)
BOOL bAvailable[MAX_AST]; // If True, the audio stream is available in the current Program Chain.
BYTE bAudioCodingMode [MAX_AST]; // Audio Coding Mode :
BOOL bMultichannelExtenstion [MAX_AST]; // Multichannel extension
BYTE bAudioType [MAX_AST]; // Audio Type
BYTE bAudioApplicationMode [MAX_AST]; // Audio Application Mode
BYTE bQuantization [MAX_AST]; // Quantization / DRC
BYTE bfs [MAX_AST]; // Frequency
BYTE bNumberOfAudioChannels [MAX_AST]; // Number of Audio channels
WORD wLanguageCode [MAX_AST]; // Refer to Language codes
WORD wLanguageCodeExtension [MAX_AST]; // Refer to Language codes
BYTE bApplicationExtension [MAX_AST]; // Refer Annex C
} AST_ATR, *PAST_ASTR;
Audio coding modes ares:
Audio types are:
Audio application modes are:
Number of audio channels are:
DWORD dwReturn; AST_ATR ast_atr; dwReturn = DVDQueryAttribute ( DVDI_AST_ATR, (DWORD)&ast_atr); dwReturn = (DWORD) ast_atr.bAST_Ns; dwReturn = (DWORD) ast_atr.bAudioCodingMode [1]; dwReturn = (DWORD) ast_atr.bMultichannelExtenstion [1]; dwReturn = (DWORD) ast_atr.bAudioType [1]; dwReturn = (DWORD) ast_atr.bAudioApplicationMode [1]; dwReturn = (DWORD) ast_atr.bQuantization [1]; dwReturn = (DWORD) ast_atr.bfs [1]; dwReturn = (DWORD) ast_atr.bNumberOfAudioChannels [1]; dwReturn = (DWORD) ast_atr.wLanguageCode [1]; dwReturn = (DWORD) ast_atr.wLanguageCodeExtension [1]; dwReturn = (DWORD) ast_atr.bApplicationExtension [1]; if ( ast_atr.bAvailable [1]) return TRUE; else return FALSE;