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;