xref: /utopia/UTPA2-700.0.x/modules/audio/api/audio/apiAUDIO_v2.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1 //<MStar Software>
2 //******************************************************************************
3 // MStar Software
4 // Copyright (c) 2014 - 2016 MStar Semiconductor, Inc. All rights reserved.
5 // All software, firmware and related documentation herein ("MStar Software") are
6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7 // law, including, but not limited to, copyright law and international treaties.
8 // Any use, modification, reproduction, retransmission, or republication of all
9 // or part of MStar Software is expressly prohibited, unless prior written
10 // permission has been granted by MStar.
11 //
12 // By accessing, browsing and/or using MStar Software, you acknowledge that you
13 // have read, understood, and agree, to be bound by below terms ("Terms") and to
14 // comply with all applicable laws and regulations:
15 //
16 // 1. MStar shall retain any and all right, ownership and interest to MStar
17 //    Software and any modification/derivatives thereof.
18 //    No right, ownership, or interest to MStar Software and any
19 //    modification/derivatives thereof is transferred to you under Terms.
20 //
21 // 2. You understand that MStar Software might include, incorporate or be
22 //    supplied together with third party`s software and the use of MStar
23 //    Software may require additional licenses from third parties.
24 //    Therefore, you hereby agree it is your sole responsibility to separately
25 //    obtain any and all third party right and license necessary for your use of
26 //    such third party`s software.
27 //
28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29 //    MStar`s confidential information and you agree to keep MStar`s
30 //    confidential information in strictest confidence and not disclose to any
31 //    third party.
32 //
33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34 //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35 //    without limitation, any warranties of merchantability, non-infringement of
36 //    intellectual property rights, fitness for a particular purpose, error free
37 //    and in conformity with any international standard.  You agree to waive any
38 //    claim against MStar for any loss, damage, cost or expense that you may
39 //    incur related to your use of MStar Software.
40 //    In no event shall MStar be liable for any direct, indirect, incidental or
41 //    consequential damages, including without limitation, lost of profit or
42 //    revenues, lost or damage of data, and unauthorized system use.
43 //    You agree that this Section 4 shall still apply without being affected
44 //    even if MStar Software has been modified by MStar in accordance with your
45 //    request or instruction for your use, except otherwise agreed by both
46 //    parties in writing.
47 //
48 // 5. If requested, MStar may from time to time provide technical supports or
49 //    services in relation with MStar Software to you for your use of
50 //    MStar Software in conjunction with your or your customer`s product
51 //    ("Services").
52 //    You understand and agree that, except otherwise agreed by both parties in
53 //    writing, Services are provided on an "AS IS" basis and the warranty
54 //    disclaimer set forth in Section 4 above shall apply.
55 //
56 // 6. Nothing contained herein shall be construed as by implication, estoppels
57 //    or otherwise:
58 //    (a) conferring any license or right to use MStar name, trademark, service
59 //        mark, symbol or any other identification;
60 //    (b) obligating MStar or any of its affiliates to furnish any person,
61 //        including without limitation, you and your customers, any assistance
62 //        of any kind whatsoever, or any information; or
63 //    (c) conferring any license or right under any intellectual property right.
64 //
65 // 7. These terms shall be governed by and construed in accordance with the laws
66 //    of Taiwan, R.O.C., excluding its conflict of law rules.
67 //    Any and all dispute arising out hereof or related hereto shall be finally
68 //    settled by arbitration referred to the Chinese Arbitration Association,
69 //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70 //    Rules of the Association by three (3) arbitrators appointed in accordance
71 //    with the said Rules.
72 //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73 //    be English.
74 //    The arbitration award shall be final and binding to both parties.
75 //
76 //******************************************************************************
77 //<MStar Software>
78 ////////////////////////////////////////////////////////////////////////////////
79 //
80 // Copyright (c) 2014-2016 MStar Semiconductor, Inc.
81 // All rights reserved.
82 //
83 // Unless otherwise stipulated in writing, any and all information contained
84 // herein regardless in any format shall remain the sole proprietary of
85 // MStar Semiconductor Inc. and be kept in strict confidence
86 // ("MStar Confidential Information") by the recipient.
87 // Any unauthorized act including without limitation unauthorized disclosure,
88 // copying, use, reproduction, sale, distribution, modification, disassembling,
89 // reverse engineering and compiling of the contents of MStar Confidential
90 // Information is unlawful and strictly prohibited. MStar hereby reserves the
91 // rights to any and all damages, losses, costs and expenses resulting therefrom.
92 //
93 ////////////////////////////////////////////////////////////////////////////////
94 
95 ////////////////////////////////////////////////////////////////////////////////////////////////////
96 //
97 //  File name: apiAUDIO_v2.h
98 //  Description: Audio api header file
99 //
100 ////////////////////////////////////////////////////////////////////////////////////////////////////
101 
102 #ifndef _AUDIO_H_
103 #define _AUDIO_H_
104 
105 //#include "MsDevice.h"
106 
107 #ifdef __cplusplus
108 extern "C"
109 {
110 #endif
111 
112 typedef enum {
113     //  AUDIO_SYSTEM RELATIONAL API FUNCTION                    //*** Args of API  ***
114     MApi_CMD_AUDIO_Initialize = 0,                              // void                                                              #0
115     MApi_CMD_AUDIO_SetPowerOn,                                  // pointer to (U32_bEnable)
116     MApi_CMD_AUDIO_SetDSPBaseAddr,                              // pointer to (MS_U32)
117     MApi_CMD_AUDIO_GetDSPBaseAddr,                              // pointer to (MS_U32)
118     MApi_CMD_AUDIO_WriteDecMailBox,                             // pointer to (MS_U32)
119     MApi_CMD_AUDIO_TriggerSIFPLL,                               // void
120     MApi_CMD_AUDIO_Monitor,                                     // void
121     MApi_CMD_AUDIO_SetSystemInfo,                               // pointer to (AUDIO_INIT_INFO*)
122     MApi_CMD_AUDIO_ASF_Data_To_DDR,                             // pointer to (MS_BOOL)
123     MApi_CMD_AUDIO_R2_DEBUG_MSG,                                // pointer to (MS_BOOL)
124     MApi_CMD_AUDIO_R2_DDR_LETENCY_MSG,                          // 10 pointer to (MS_BOOL)
125     MApi_CMD_AUDIO_SetOutConnectivity,                          // void
126     MApi_CMD_AUDIO_SetPathInfo,                                 // pointer to (AUDIO_PATH_INFO*)
127     MApi_CMD_AUDIO_GetPathInfo,                                 // pointer to (AUDIO_PATH_INFO*)
128     MApi_CMD_AUDIO_SetOutputInfo,                               // pointer to (AUDIO_OUT_INFO*)
129     MApi_CMD_AUDIO_SetSourceInfo,                               // pointer to (AUDIO_SOURCE_INFO_TYPE)
130     MApi_CMD_AUDIO_InputSwitch,                                 // pointer to (AUDIO_INPUT_TYPE, AUDIO_SWITCH_GROUP)
131     MApi_CMD_AUDIO_Set_Input_Scale,                             // pointer to (int)
132     MApi_CMD_AUDIO_Set_Scart_Scale,                             // pointer to (int)
133     //MApi_CMD_AUDIO_AUDYSSEY_VXT_SET_THRESH_LEVEL_TABLE,         // pointer to (int *)
134     MApi_CMD_AUDIO_SPDIF_CHANNELSTATUS,                         // pointer to (SPDIF_CS_MODE_TYPE eType, SPDIF_CS_MODE_VALUE eValue)
135 
136     MApi_CMD_AUDIO_SetDataCaptureSource,                        // pointer to (AUDIO_DEVICE_TYPE, AUDIO_CAPTURE_SOURCE_TYPE)    ##20
137     //MApi_CMD_AUDIO_SetOutputSourceInfo,                         // pointer to (OUTPUT_SOURCE_INFO *)
138     //MApi_CMD_AUDIO_GetOutputSourceInfo,                         // pointer to (OUTPUT_SOURCE_INFO *)
139     MApi_CMD_AUDIO_OutputSourceInfo,                            // 20 pointer to (AUDIO_ST_OUTPUT_SOURCE)
140     MApi_CMD_AUDIO_ReadMailBox,                                 // pointer to (MS_BOOL, MS_U8)
141     MApi_CMD_AUDIO_WriteMailBox,                                // pointer to (MS_BOOL, MS_U8, MS_U16)
142     MApi_CMD_AUDIO_FwTriggerDSP,                                // pointer to (MS_U16)
143     MApi_CMD_AUDIO_SetFwStatus,                                 // pointer to (MS_BOOL)
144     MApi_CMD_AUDIO_ExitAudioSystem,                             // void
145     MApi_CMD_AUDIO_RebootDSP,                                   // pointer to (MS_BOOL)
146     MApi_CMD_AUDIO_SendIntrupt,                                 // pointer to (MS_BOOL, MS_U8)
147     MApi_CMD_AUDIO_I2S_SetMode,                                 // pointer to (AUDIO_I2S_MODE_TYPE, AUDIO_I2S_MODE_VALUE)
148     MApi_CMD_AUDIO_WritePreInitTable,                           // void
149     MApi_CMD_AUDIO_EnaEarphone_LowPower_Stage,                  // 30 void
150     MApi_CMD_AUDIO_EnaEarphone_HighDriving_Stage,               // void
151     MApi_CMD_AUDIO_Suspend,                                         // pointer to (void *)
152     MApi_CMD_AUDIO_Resume,                                         // pointer to (void *)
153 
154     // AUDIO_SOUND RELATIONAL API FUNCTION
155     MApi_CMD_SND_ProcessEnable,                                 // pointer to (Sound_ENABLE_Type, MS_BOOL)
156     MApi_CMD_SND_SetParam1,                                     // pointer to (Sound_SET_PARAM_Type, MS_U16, MS_U16)
157     MApi_CMD_SND_GetParam1,                                     // pointer to (Sound_GET_PARAM_Type, MS_U16)
158     MApi_CMD_AUDIO_Sound_SetParam,                              // pointer to (AUDIO_ST_SOUND_SETPARAM*)
159     MApi_CMD_AUDIO_SetAbsoluteVolume,                           // pointer to (MS_U8, MS_U8, MS_U8)
160     //MApi_CMD_AUDIO_SetPreScale,                                 // pointer to (MS_U8, MS_U8)
161     //MApi_CMD_AUDIO_SetMute,                                     // pointer to (MS_U8, MS_BOOL)
162     MApi_CMD_AUDIO_SourceConnect,                               // pointer to (AUDIO_OUTPORT_SOURCE_TYPE, MS_BOOL)
163     //MApi_CMD_AUDIO_SetBalance,                                  // pointer to (MS_U8)
164     //MApi_CMD_AUDIO_EnableEQ,                                    // pointer to (MS_BOOL)
165     //MApi_CMD_AUDIO_EnableTone,                                  // pointer to (MS_BOOL)
166     //MApi_CMD_AUDIO_EnableAutoVolume,                            // pointer to (MS_BOOL)
167     //MApi_CMD_AUDIO_EnableSurround,                              // pointer to (MS_BOOL)
168     //MApi_CMD_AUDIO_EnableBalance,                               // pointer to (MS_BOOL)
169     MApi_CMD_AUDIO_SetDynamicBass,                              // 40 pointer to (MS_U8)
170     //MApi_CMD_AUDIO_SetBass,                                     // pointer to (MS_U8)
171     //MApi_CMD_AUDIO_AbsoluteBass,                                // pointer to (MS_U8)
172     //MApi_CMD_AUDIO_SetTreble,                                   // pointer to (MS_U8)
173     MApi_CMD_AUDIO_AbsoluteTreble,                              // pointer to (MS_U8)                                                ##40
174     //MApi_CMD_AUDIO_SetEq,                                       // pointer to (MS_U8, MS_U8)
175     MApi_CMD_AUDIO_SetEq_7band,                                 // pointer to (MS_U8, MS_U8)
176     MApi_CMD_AUDIO_SetAvcThreshold,                             // pointer to (MS_U8)
177     MApi_CMD_AUDIO_SetAvcMode,                                  // pointer to (MS_U8)
178     MApi_CMD_AUDIO_SetAvcAT,                                    // pointer to (MS_U8)
179     MApi_CMD_AUDIO_SetAvcRT,                                    // pointer to (MS_U8)
180     MApi_CMD_AUDIO_SetBufferProcess,                            // pointer to (MS_U8)
181     MApi_CMD_AUDIO_SetSurroundXA,                               // pointer to (MS_U8)
182     MApi_CMD_AUDIO_SetSurroundXB,                               // pointer to (MS_U8)
183     MApi_CMD_AUDIO_SetSurroundXK,                               // 50 pointer to (MS_U8)
184     MApi_CMD_AUDIO_SetSurroundLPFGain,                           // pointer to (MS_U8)
185     MApi_CMD_AUDIO_ConvertVolumeUnit,                           // pointer to (MS_U8)
186     MApi_CMD_AUDIO_SetPEQCoef,                                  // pointer to (AUDIO_PEQ_COEF*)
187     //MApi_CMD_AUDIO_EnablePEQ,                                   // pointer to (MS_U8)
188     MApi_CMD_AUDIO_EnableDcRemove,                              // pointer to (MS_U8)
189 
190 
191     // AUDIO_DTV RELATIONAL API FUNCTION
192     MApi_CMD_AUDIO_DecodeSystem,                                // pointer to (AUDIO_ST_SET_DECODESYSTEM)
193     MApi_CMD_AUDIO_ReleaseDecodeSystem,                         // pointer to (AUDIO_ST_RELEASE_DECODESYSTEM*)
194     MApi_CMD_AUDIO_SetDecodeSystem,                             // pointer to (AUDIO_ST_SET_DECODESYSTEM*)
195     MApi_CMD_AUDIO_GetDecodeSystem,                             // pointer to (AUDIO_ST_GET_DECODESYSTEM*)
196     MApi_CMD_AUDIO_SetDecodeCmd,                                // pointer to (AUDIO_DEC_ID, En_DVB_decCmdType)
197     MApi_CMD_AUDIO_OpenDecodeSystem,                            // 60 pointer to (AudioDecStatus_t*)
198     MApi_CMD_AUDIO_SetSystem,                                   // pointer to (En_DVB_decSystemType)
199     MApi_CMD_AUDIO_GetDecSysSupportStatus,                      // pointer to (En_DVB_decSystemType)                                ##60
200     MApi_CMD_AUDIO_IsMadLock,                                   // void
201     MApi_CMD_AUDIO_GetDecStatus,                                // void
202     MApi_CMD_AUDIO_Decode_Command,                              // pointer to (AUDIO_ST_DECODER_COMMAND)
203     //MApi_CMD_AUDIO_GetCommand,                                  // pointer to (En_DVB_AudioDecoder)
204     //MApi_CMD_AUDIO_SetCommand,                                  // pointer to (En_DVB_decCmdType)
205     MApi_CMD_AUDIO_GetMAD_Lock,                                 // void
206     MApi_CMD_AUDIO_SETAD,                                       // pointer to (AUDIO_ST_SET_AD)
207     //MApi_CMD_AUDIO_SetADOutputMode,                             // pointer to (MS_U8)
208     //MApi_CMD_AUDIO_SetADAbsoluteVolume,                         // pointer to (MS_U8)
209     //MApi_CMD_AUDIO_ADSetMute,                                   // pointer to (MS_U8)
210 
211     // AUDIO_PVR RELATED FUNCTIONS
212     MApi_CMD_AUDIO_SetEncInit,                                  // pointer to (AU_DVB_ENCBR, MS_U8)
213     MApi_CMD_AUDIO_SetEncCommand,                               // pointer to (AU_DVB_ENCCMD)
214     MApi_CMD_AUDIO_GetEncodeFrameInfo,                          // 70 pointer to (AU_DVB_ENC_FRAME_INFO*)
215     MApi_CMD_AUDIO_GetEncodeDoneFlag,                           // void
216 
217     // AUDIO_ATV RELATIONAL API FUNCTION
218     MApi_CMD_AUDIO_SIF_SetStandard,                             // pointer to (AUDIOSTANDARD_TYPE)
219     MApi_CMD_AUDIO_SIF_GetSoundMode,                            // void
220     MApi_CMD_AUDIO_SIF_SetSoundMode,                            // pointer to (MS_U8)
221     MApi_CMD_AUDIO_SIF_GetAudioStatus,                          // pointer to (AUDIO_ST_SIF_GET_AUDIO_STATUS)
222     MApi_CMD_AUDIO_SIF_StartAutoStandardDetection,              // void
223     MApi_CMD_AUDIO_SIF_GetResultOfAutoStandardDetection,        // void
224     MApi_CMD_AUDIO_SIF_ConvertToBasicAudioStandard,             // pointer to (AUDIOSTANDARD_TYPE)
225     MApi_CMD_AUDIO_SIF_SetThreshold,                            // pointer to (THR_TBL_TYPE code*)
226     MApi_CMD_AUDIO_SIF_SetPrescale,                             // 80 pointer to (MS_U8, int)
227     MApi_CMD_AUDIO_SIF_IsPALType,                               // pointer to (AUDIO_SIF_PAL_TYPE)
228     MApi_CMD_AUDIO_SIF_SetPALType,                              // pointer to (AUDIO_SIF_PAL_TYPE)                                  ##80
229     MApi_CMD_AUDIO_SIF_SendCmd,                                 // pointer to (En_AUD_SIF_CmdType, MS_U8, MS_U8)
230     MApi_CMD_AUDIO_SIF_Shift,                                   // pointer to (En_AUD_VIF_Type)
231 
232 #if 1
233     // AUDIO_FM_RADIO RELATIONAL API FUNCTION
234     MApi_CMD_AUDIO_FM_RADIO_GetSoundMode,                       // void                                                             #90
235     MApi_CMD_AUDIO_FM_RADIO_SetSoundMode,                       // pointer to (MS_U8)
236     MApi_CMD_AUDIO_FM_RADIO_DeEmphassisOption,                  // pointer to (MS_BOOL)
237     MApi_CMD_AUDIO_FM_RADIO_GetDC_Amp,                          // void
238     MApi_CMD_AUDIO_FM_RADIO_Get_NSR,                            // void
239     MApi_CMD_AUDIO_FM_RADIO_Reset,                              // 90 void
240 #endif
241 
242     // AUDIO_SPDIF RELATIONAL API FUNCTION
243     MApi_CMD_AUDIO_SPDIF_OP,                                     // pointer to (AUDIO_ST_SPDIF_OP)
244     //MApi_CMD_AUDIO_SPDIF_HWEN,                                  // pointer to (MS_BOOL)
245     //MApi_CMD_AUDIO_SPDIF_SetMute,                               // pointer to (MS_BOOL)
246     //MApi_CMD_AUDIO_SPDIF_SetMode,                               // pointer to (MS_BOOL)
247     //MApi_CMD_AUDIO_SPDIF_GetMode,                               // void
248     MApi_CMD_AUDIO_SPDIF_SCMS,                                  // pointer to (AUDIO_ST_SPDIF_SCMS)
249     //MApi_CMD_AUDIO_SPDIF_SetSCMS,                               // pointer to (MS_U8, MS_U8)
250     //MApi_CMD_AUDIO_SPDIF_GetSCMS,                               // void
251     MApi_CMD_AUDIO_SPDIF_Monitor,                               // void
252     MApi_CMD_AUDIO_SPDIF_ChannelStatus_CTRL,                    // pointer to (AUDIO_SPDIF_CS_TYPE, AUDIO_SPDIF_CS_TYPE_STATUS)
253     MApi_CMD_AUDIO_DigitalOut_SetChannelStatus,
254     MApi_CMD_AUDIO_DigitalOut_SetDeviceCapability,              // pointer to (DIGITAL_OUTPUT_TYPE, AUDIO_FORMAT_CODE, Digital_Out_Device_Capability_t*)
255 
256     // AUDIO_HDMI RELATIONAL API FUNCTION
257     MApi_CMD_AUDIO_HDMI_Tx_SetMute,                             // pointer to (MS_BOOL)
258     MApi_CMD_AUDIO_HDMI_Tx_GetStatus,                           // pointer to (MS_BOOL*, AUDIO_FS_TYPE*, HDMI_TX_OUTPUT_TYPE*)
259     MApi_CMD_AUDIO_HDMI_Monitor,                                // void
260     MApi_CMD_AUDIO_HDMI_GetNonpcmFlag,                          // 100 void
261     MApi_CMD_AUDIO_HDMI_SetNonpcm,                              // pointer to (MS_BOOL)
262     MApi_CMD_AUDIO_HDMI_Nonpcm_OP,                              // pointer to (AUDIO_ST_HDMI_NONPCM_OP)
263     //MApi_CMD_AUDIO_HDMI_Rx_SetNonPcm,                           // pointer to (MS_U8)
264     //MApi_CMD_AUDIO_HDMI_RX_GetNonpcm,                           // void
265     MApi_CMD_AUDIO_DTV_HDMI_CFG,                                // pointer to (MS_U8)
266     MApi_CMD_AUDIO_HDMI_GetSynthFreq,                           // void
267     MApi_CMD_AUDIO_HDMI_SetDownSample,                          // pointer to (MS_U8)
268     MApi_CMD_AUDIO_HDMI_TX_SetMode,                             // pointer to (HDMI_TX_OUTPUT_TYPE)
269     MApi_CMD_AUDIO_HDMI_RX_GetHdmiInAudioStatus,                // pointer to (AUDIO_ST_RX_HDMI_AUDIO_STATUS*)
270 
271     // AUDIO_ADVANCE_SOUND RELATIONAL API FUNCTION
272     MApi_CMD_AUDIO_ADVSOUND_ProcessEnable,                      // pointer to (ADVSND_TYPE)
273     MApi_CMD_AUDIO_ADVSOUND_SubProcessEnable,                   // pointer to (ADVFUNC, MS_BOOL)                                    ##100
274     MApi_CMD_AUDIO_ADVSOUND_SetParam,                           // 110 pointer to (ADVSND_PARAM, MS_U16, MS_U16)
275     MApi_CMD_AUDIO_ADVSND_SetParam,                             // pointer to (ADVSND_PARAM, MS_U32, MS_U16)
276     //MApi_CMD_AUDIO_ADVSOUND_GetParam,                           // pointer to (ADVSND_GET_PARAM)
277     MApi_CMD_AUDIO_ADVSOUND_SET_ASF_PARAM,                      // pointer to (ADVSND_PARAM, MS_S16, MS_S16)
278     //MApi_CMD_AUDIO_ADVSOUND_GET_ASF_PARAM,                      // pointer to (ADVSND_GET_PARAM)
279     MApi_CMD_AUDIO_ADVSOUND_GetInfo,                            // pointer to (AdvSound_GET_Type)
280     MApi_CMD_AUDIO_DBXTV_SetMode,                               // pointer to (EN_DBXTV_TotSonMode, EN_DBXTV_TotVolMode , EN_DBXTV_TotSurMode,MS_U32)
281     MApi_CMD_AUDIO_SeInit,                                      // void
282     MApi_CMD_AUDIO_SetAdvSndSys,                                // pointer to (MS_U8)
283     //MApi_CMD_AUDIO_ADV_SOUND_SET,                               // pointer to (AUDIO_ST_HDMI_NONPCM_OP)
284     MApi_CMD_AUDIO_SetVDS,                                      // pointer to (MS_U8)
285     MApi_CMD_AUDIO_SetVSPK,                                     // pointer to (MS_U8)
286     MApi_CMD_AUDIO_SetSRS,                                      // pointer to (MS_U8)
287     MApi_CMD_AUDIO_SetBBE,                                      // 120 pointer to (MS_U8, MS_U8)
288     MApi_CMD_AUDIO_VSPK_WMod,                                   // pointer to (MS_U8)
289     MApi_CMD_AUDIO_VSPK_SMod,                                   // pointer to (MS_U8)
290     MApi_CMD_AUDIO_SRS_DC,                                      // pointer to (MS_U8)
291     MApi_CMD_AUDIO_SRS_TruBass,                                 // pointer to (MS_U8)
292     MApi_CMD_AUDIO_SRSTsxtPara,                                 // pointer to (MS_U8, MS_U8)
293     MApi_CMD_AUDIO_SetSRSTSHD,                                  // pointer to (MS_U8)
294     MApi_CMD_AUDIO_TSHD_TruBass,                                // pointer to (MS_U8)
295     MApi_CMD_AUDIO_TSHD_Definition,                             // pointer to (MS_U8)
296     MApi_CMD_AUDIO_TSHD_Clarity,                                // pointer to (MS_U8)
297     MApi_CMD_AUDIO_SRSSetTshdPara,                              // 130 pointer to (MS_U8, MS_U8)
298     MApi_CMD_AUDIO_Copy_Parameter,                              // pointer to (AUDIO_ST_COPY_PARAMETER*)
299 
300     // AUDIO_KTV RELATIONAL API FUNCTION
301     MApi_CMD_AUDIO_KTV_OP,                                      // pointer to ()
302     //MApi_CMD_AUDIO_SetKTVInfo,                                  // pointer to (AUDIO_KTV_MODEL, AUDIO_KTV_PARAMTYPE, MS_U32, MS_U32)
303     //MApi_CMD_AUDIO_GetKTVInfo,                                  // pointer to (AUDIO_KTV_MODEL, AUDIO_KTV_INFOTYPE)
304     //MApi_CMD_AUDIO_SetMixModeVolume,                            // pointer to (AUDIO_SOURCE_INFO_TYPE, AUDIO_MIX_VOL_TYPE, MS_U8, MS_U8)
305     //MApi_CMD_AUDIO_SetMixModeMute,                              // pointer to (AUDIO_SOURCE_INFO_TYPE, AUDIO_MIX_VOL_TYPE, MS_BOOL)
306     MApi_CMD_AUDIO_PlayMenuSound,                               // void
307 
308     // AUDIO_MM RELATIONAL API FUNCTION
309     MApi_CMD_AUDIO_SetCommAudioInfo,                            // pointer to (Audio_COMM_infoType, MS_U32, MS_U32)
310     MApi_CMD_AUDIO_SetDecodeParam,                              // pointer to (AUDIO_ST_SETDECODEPARAM)
311     MApi_CMD_AUDIO_SetMpegInfo,                                 // pointer to (Audio_MPEG_infoType, MS_U32, MS_U32)
312     MApi_CMD_AUDIO_SetAC3Info,                                  // pointer to (Audio_AC3_infoType, MS_U32, MS_U32)
313     MApi_CMD_AUDIO_SetAC3PInfo,                                 // pointer to (Audio_AC3P_infoType, MS_U32, MS_U32)
314     MApi_CMD_AUDIO_SetAACInfo,                                  // pointer to (Audio_AAC_infoType, MS_U32, MS_U32)
315     MApi_CMD_AUDIO_SetWMAInfo,                                  // 140 pointer to (Audio_WMA_infoType, MS_U32, MS_U32)
316     MApi_CMD_AUDIO_SetDTSCommonCtrl,                            // pointer to (Audio_DTS_infoType , Audio_DTS_CtrlType )
317     MApi_CMD_AUDIO_GetCommAudioInfo,                            // pointer to (Audio_COMM_infoType)                                 ##120
318     MApi_CMD_AUDIO_GetMpegInfo,                                 // pointer to (Audio_MPEG_infoType)
319     MApi_CMD_AUDIO_GetAC3Info,                                  // pointer to (Audio_AC3P_infoType)
320     MApi_CMD_AUDIO_GetAC3PInfo,                                 // pointer to (Audio_AC3P_infoType)
321     MApi_CMD_AUDIO_GetAACInfo,                                  // pointer to (Audio_AAC_infoType)
322     MApi_CMD_AUDIO_GetWmaInfo,                                  // pointer to (Audio_WMA_infoType)
323     MApi_CMD_AUDIO_GetDTSInfo,                                  // pointer to (Audio_DTS_infoType)
324     MApi_CMD_AUDIO_XPCM_Param,                                  // pointer to (XPCM_TYPE, MS_U8, MS_U16, MS_U8 , MS_U16, MS_U16)
325     MApi_CMD_AUDIO_XPCM2_Param,                                 // 150 pointer to (XPCM_TYPE, MS_U8, MS_U16, MS_U8 , MS_U16, MS_U16)
326     MApi_CMD_AUDIO_XPCM2_CheckIntStatus,                        // void
327     MApi_CMD_AUDIO_RA8_Param,                                   // pointer to (AUDIO_ST_RA8_Param)
328     MApi_CMD_AUDIO_Init,                                        // pointer to (En_DVB_decSystemType)
329     MApi_CMD_AUDIO_StartDecode,                                 // void
330     MApi_CMD_AUDIO_StartBroswe,                                 // void
331     MApi_CMD_AUDIO_StopDecode,                                  // void
332     MApi_CMD_AUDIO_PauseDecode,                                 // void
333     MApi_CMD_AUDIO_CheckPlayDone,                               // void
334     MApi_CMD_AUDIO_GetResidualBufferSize,                       // void
335     MApi_CMD_AUDIO_GetPCMBufferSize,                            // 160 pointer to (MS_U16)
336     MApi_CMD_AUDIO_GetPCMBufferSize2,                           // pointer to (MS_U16, MS_U16)
337     MApi_CMD_AUDIO_GetCurrentFrameNumber,                       // void
338     MApi_CMD_AUDIO_GetSampleRates,                              // void
339     MApi_CMD_AUDIO_GetBitRates,                                 // void                                                             ##140
340     MApi_CMD_AUDIO_GetLayer,                                    // void
341     MApi_CMD_AUDIO_CheckInputRequest,                           // pointer to (AUDIO_ST_CHECK_INPUT_REQ)
342     MApi_CMD_AUDIO_SetInput,                                    // void
343     MApi_CMD_AUDIO_SetSampleRateIndex,                          // pointer to (MS_U16)
344     MApi_CMD_AUDIO_SetXPCMParam,                                // pointer to (XPCM_TYPE, MS_U8, MS_U16, MS_U8, MS_U16, MS_U16)
345     MApi_CMD_AUDIO_FileEndNotification,                         // 170 void
346     MApi_CMD_AUDIO_FileEndDataHandle,                           // pointer to (MS_U32)
347     MApi_CMD_AUDIO_GetPlayTick,                                 // void
348     MApi_CMD_AUDIO_GetEsMEMCnt,                                 // void
349     MApi_CMD_AUDIO_SetASFParm,                                  // pointer to (WMA_ASF_PARMTYPE, MS_U32)
350     MApi_CMD_AUDIO_MM_SetInput,                                 // pointer to (En_DVB_AudioDecoder, MS_U8)
351     MApi_CMD_AUDIO_MM_CheckPlayDone,                            // pointer to (En_DVB_AudioDecoder)
352     MApi_CMD_AUDIO_MM_CheckInputRequest,                        // pointer to (AUDIO_ST_MM_CHECK_INPUT_REQ)
353     MApi_CMD_AUDIO_DmaReader_Init,                              // pointer to (SAMPLE_RATE)
354     MApi_CMD_AUDIO_DmaReader_AllInput_Init,                     // void
355     MApi_CMD_AUDIO_DmaReader_WritePCM,                          // 180 pointer to (AUDIO_ST_DMAREADER_WRITEPCM)
356     MApi_CMD_AUDIO_DmaWrite_Init,                               // void
357     MApi_CMD_AUDIO_USBPCM_Enable,                               // pointer to (MS_BOOL)
358     MApi_CMD_AUDIO_USBPCM_SetFlag,                              // pointer to (MS_BOOL)
359     MApi_CMD_AUDIO_USBPCM_GetFlag,                              // void
360     MApi_CMD_AUDIO_USBPCM_GetMemInfo,                           // pointer to (AUDIO_UPLOAD_INFO*)
361     MApi_CMD_AUDIO_PCMCapture_Init,                             // pointer to (const AUDIO_DEVICE_TYPE , const AUDIO_CAPTURE_SOURCE_TYPE)
362     MApi_CMD_AUDIO_PCMCapture_Start,                            // pointer to (cAUDIO_ST_PCMCAPTURE_INIT)
363     MApi_CMD_AUDIO_PCMCapture_Stop,                             // pointer to (AUDIO_ST_PCMCAPTURE_INIT)
364     MApi_CMD_AUDIO_PCMCapture_Read,                             // pointer to (AUDIO_ST_PCMCAPTURE_READ)
365     MApi_CMD_AUDIO_VoIP_Config,                                 // 190 pointer to (AUDIO_VoIP_CONFIG_TYPE, MS_U32, MS_U32)
366     MApi_CMD_AUDIO_ALSA_Check,                                  // void
367     MApi_CMD_AUDIO_ALSA_Enable,                                 // pointer to (MS_BOOL)
368     MApi_CMD_AUDIO_UNI_CheckDecodeDone,                         // pointer to (MS_U32*, MS_U32*)
369     MApi_CMD_AUDIO_UNI_SetOutput,                               // pointer to (MS_U32)
370     MApi_CMD_AUDIO_UNI_Set_PCMInputWriteAddr,                   // pointer to (MS_U32)
371     MApi_CMD_AUDIO_UNI_Get_OutPCMLevel,                         // void
372     MApi_CMD_AUDIO_RingTask,                                    // pointer to (audioRingTask*)
373     MApi_CMD_AUDIO_Ring_DataTransfer,                           // pointer to (audioRingTask*, audioRingTask*)
374     MApi_CMD_AUDIO_MM2_InitAesInfo,                             // pointer to (AUDIO_DEC_ID)
375     MApi_CMD_AUDIO_MM2_CheckAesInfo,                            // 200 pointer to (ADUIO_DEC_ID, AES_INFO*)
376     MApi_CMD_AUDIO_MM2_InputAesFinished,                        // pointer to (AUDIO_DEC_ID , MS_U32 , MS_BOOL , MS_U64  )
377     MApi_CMD_AUDIO_SetAudioParam2,                              // pointer to (AUDIO_DEC_ID , Audio_ParamType, MS_U32 )
378     MApi_CMD_AUDIO_GetAudioInfo2,                               // pointer to (AUDIO_DEC_ID, Audio_InfoType, void* )
379     MApi_CMD_AUDIO_GetDDRInfo,                                  // pointer to (AUDIO_DEC_ID , EN_AUDIO_DDRINFO)
380     MApi_CMD_AUDIO_DigitalOut_GetChannelStatus,                   //
381     MApi_CMD_AUDIO_GetCaps,
382     MApi_CMD_AUDIO_PcmOpen,
383     MApi_CMD_AUDIO_PcmClose,
384     MApi_CMD_AUDIO_PcmStart,
385     MApi_CMD_AUDIO_PcmStop,
386     MApi_CMD_AUDIO_PcmSet,
387     MApi_CMD_AUDIO_PcmGet,
388     MApi_CMD_AUDIO_PcmRead,
389     MApi_CMD_AUDIO_PcmWrite,
390     MApi_CMD_AUDIO_PcmFlush,
391     MApi_CMD_AUDIO_EncoderOpen,
392     MApi_CMD_AUDIO_EncoderClose,
393     MApi_CMD_AUDIO_EncoderStart,
394     MApi_CMD_AUDIO_EncoderStop,
395     MApi_CMD_AUDIO_EncoderIoctl,
396     MApi_CMD_AUDIO_EncoderRead,
397     MApi_CMD_AUDIO_EncoderFlush,
398 } eAudioIoctlOpt;
399 
400 //-------------------------------------------------------------------------------------------------
401 // Macros
402 //-------------------------------------------------------------------------------------------------
403 
404 
405 //-------------------------------------------------------------------------------------------------
406 // Type and Structure Declaration
407 //-------------------------------------------------------------------------------------------------
408 /// Audio status indicator
409 typedef enum
410 {
411     AUDIO_STATUS_OK,               ///< Audio status OK
412     AUDIO_STATUS_ERROR,            ///< Audio status ERROR
413 } AUDIO_STATUS;
414 
415 typedef enum
416 {
417     DECODE_SYS_RELEASE,
418     DECODE_SYS_OPEN,
419     DECODE_SYS_SET,
420     DECODE_SYS_GET,
421 }AUDIO_DECODE_TYPE;
422 
423 typedef enum
424 {
425     AD_OUTPUT_MODE,
426     AD_ABSOLUTE_VOLUME,
427     AD_SET_MUTE,
428     AD_SET_MAIN_VOL,
429 }AUDIO_SET_AD_TYPE;
430 
431 typedef enum
432 {
433     SPDIF_HWEN,
434     SPDIF_SETMUTE,
435     SPDIF_SETMODE,
436     SPDIF_GETMODE,
437 }AUDIO_SPDIF_OP;
438 
439 typedef enum
440 {
441     KTV_SET_INFO,
442     KTV_GET_INFO,
443     KTV_SET_MIX_VOL,
444     KTV_SET_MIX_MUTE,
445 }AUDIO_KTV_OP;
446 
447 typedef struct __attribute__((packed))
448 {
449     MS_BOOL                     bStatus;
450     ST_HDMI_AUDIO_STATUS*       pHdmi_status;
451 }AUDIO_ST_RX_HDMI_AUDIO_STATUS, *PAUDIO_ST_RX_HDMI_AUDIO_STATUS;
452 
453 typedef struct __attribute__((packed))
454 {
455     MS_BOOL                     bStatus;
456     Sound_SET_Type              eType;
457     MS_U32*                     pParam;
458 }AUDIO_ST_SOUND_SETPARAM, *PAUDIO_ST_SOUND_SETPARAM;
459 
460 typedef struct __attribute__((packed))
461 {
462     MS_BOOL                     bStatus;
463     AUDIO_DECODE_TYPE           eType;
464     AUDIO_DEC_ID                DecId;
465     AudioDecStatus_t*           p_AudioDecStatus;
466 }AUDIO_ST_DECODESYSTEM, *PAUDIO_ST_DECODESYSTEM;
467 
468 typedef struct __attribute__((packed))
469 {
470     AUDIO_DEC_ID                DecId;
471     AudioDecStatus_t*           p_AudioDecStatus;
472 }AUDIO_ST_OPEN_DECODESYSTEM,  *PAUDIO_ST_OPEN_DECODESYSTEM;
473 
474 typedef struct __attribute__((packed))
475 {
476     MS_BOOL                     bStatus;
477     AUDIO_DEC_ID                DecId;
478 }AUDIO_ST_RELEASE_DECODESYSTEM, *PAUDIO_ST_RELEASE_DECODESYSTEM;
479 
480 typedef struct __attribute__((packed))
481 {
482     MS_BOOL                     bStatus;
483     AUDIO_DEC_ID                DecId;
484     AudioDecStatus_t*           p_AudioDecStatus;
485 }AUDIO_ST_GET_DECODESYSTEM, *PAUDIO_ST_GET_DECODESYSTEM;
486 
487 typedef struct __attribute__((packed))
488 {
489     MS_BOOL                     bStatus;
490     AUDIO_DEC_ID                DecId;
491     AudioDecStatus_t*           p_AudioDecStatus;
492 }AUDIO_ST_SET_DECODESYSTEM, *PAUDIO_ST_SET_DECODESYSTEM;
493 
494 typedef struct __attribute__((packed))
495 {
496     MS_BOOL                     bStatus;
497     AUDIOSTATUS*                p_eAudioStatus;
498 }AUDIO_ST_SIF_GET_AUDIO_STATUS, *PAUDIO_ST_SIF_GET_AUDIO_STATUS;
499 
500 typedef struct __attribute__((packed))
501 {
502     MS_BOOL                         bStatus;
503     DIGITAL_OUTPUT_TYPE             ePath;
504     Digital_Out_Channel_Status_t*   stChannelStatus;
505 }AUDIO_ST_DIGITALOUT_SETCHANNELSTATUS, *PAUDIO_ST_DIGITALOUT_SETCHANNELSTATUS;
506 
507 typedef struct __attribute__((packed))
508 {
509     MS_BOOL                         bStatus;
510     DIGITAL_OUTPUT_TYPE             eoutType;
511     AUDIO_FORMAT_CODE               ecodecType;
512     Digital_Out_Device_Capability_t* p_codecCapability;
513 }AUDIO_ST_DIGITALOUT_SETDEVICECAP, *PAUDIO_ST_DIGITALOUT_SETDEVICECAP;
514 
515 typedef struct __attribute__((packed))
516 {
517     DIGITAL_OUTPUT_TYPE             ePath;
518     Digital_Out_Channel_Status_t*   stChannelStatus;
519 }AUDIO_ST_DIGITALOUT_GETCHANNELSTATUS, *PAUDIO_ST_DIGITALOUT_GETCHANNELSTATUS;
520 
521 typedef struct __attribute__((packed))
522 {
523     MS_BOOL                     onOff;
524     AUDIO_FS_TYPE               hdmi_smpFreq;
525     HDMI_TX_OUTPUT_TYPE         outType;
526 }AUDIO_HDMI_TX_GETSTATUS, *PAUDIO_HDMI_TX_GETSTATUS;
527 
528 typedef struct __attribute__((packed))
529 {
530     MS_U32                      parameter_size;
531     MS_U32                      type_size;
532     void *                      Parameter_ptr;
533 }AUDIO_ST_COPY_PARAMETER, *PAUDIO_ST_COPY_PARAMETER;
534 
535 typedef struct __attribute__((packed))
536 {
537     MS_U8                       u8Status;
538     MS_U16                      mNumCodecs;
539     MS_U16                      mSamples;
540     MS_U16                      mSampleRate;
541     MS_U16*                     pChannels;
542     MS_U16*                     pRegions;
543     MS_U16*                     pcplStart;
544     MS_U16*                     pcplQbits;
545     MS_U16*                     pFrameSize;
546 }AUDIO_ST_RA8_Param, *PAUDIO_ST_RA8_Param;
547 
548 typedef struct __attribute__((packed))
549 {
550     MS_U8                       u8Status;
551     MS_PHY*                     pPHYWrtAddr;
552     MS_U32*                     pU32WrtBytes;
553 }AUDIO_ST_CHECK_INPUT_REQ, *PAUDIO_ST_CHECK_INPUT_REQ;
554 
555 typedef struct __attribute__((packed))
556 {
557     MS_U8                       u8Status;
558     En_DVB_AudioDecoder         AUDDecoderNo;
559     MS_PHY*                     pPHYWrtAddr;
560     MS_U32*                     pU32WrtBytes;
561 }AUDIO_ST_MM_CHECK_INPUT_REQ, *PAUDIO_ST_MM_CHECK_INPUT_REQ;
562 
563 typedef struct __attribute__((packed))
564 {
565     MS_BOOL                     bStatus;
566     MS_U32                      bytes;
567     void*                       pBuffer;
568 }AUDIO_ST_DMAREADER_WRITEPCM, *PAUDIO_ST_DMAREADER_WRITEPCM;
569 
570 typedef struct __attribute__((packed))
571 {
572     MS_BOOL                     bStatus;
573     AUDIO_DEVICE_TYPE           eID;
574     AUDIO_CAPTURE_SOURCE_TYPE   eSource;
575 }AUDIO_ST_PCMCAPTURE_INIT, *PAUDIO_ST_PCMCAPTURE_INIT;
576 
577 typedef struct __attribute__((packed))
578 {
579     MS_BOOL                     bStatus;
580     AUDIO_DEVICE_TYPE           eID;
581     MS_U32                      bytes;
582     void*                       pBuffer;
583 }AUDIO_ST_PCMCAPTURE_READ, *PAUDIO_ST_PCMCAPTURE_READ;
584 
585 typedef struct __attribute__((packed))
586 {
587     MS_BOOL                     bStatus;
588     MS_PHY*                     pPHYWrtAddr;
589     MS_U32*                     pU32WrtBytes;
590 }AUDIO_ST_UNI_CHECK_DECODEDONE, *PAUDIO_ST_UNI_CHECK_DECODEDONE;
591 
592 typedef struct __attribute__((packed))
593 {
594     audioRingTask*              pauRingTask;
595     audioRingTask*              pauRingTask_1;
596 }AUDIO_ST_RING_DATA_TRANS, *PAUDIO_ST_RING_DATA_TRANS;
597 
598 typedef struct __attribute__((packed))
599 {
600     AES_INFO*                   paes_info;
601     AUDIO_DEC_ID                dec_id;
602 }AUDIO_ST_MM2_CHECKAESINFO, *PAUDIO_ST_MM2_CHECKAESINFO;
603 
604 typedef struct __attribute__((packed))
605 {
606     MS_BOOL                     bStatus;
607     AUDIO_DEC_ID                dec_id;
608     MS_U32                      es_size;
609     MS_BOOL                     ptsExist;
610     MS_U64                      pts;
611 }AUDIO_ST_MM2_INPUTAES_FINISH, *PAUDIO_ST_MM2_INPUTAES_FINISH;
612 
613 typedef struct __attribute__((packed))
614 {
615     MS_BOOL                     bStatus;
616     AUDIO_DEC_ID                DecId;
617     Audio_InfoType              infoType;
618     void*                       pInfo;
619 }AUDIO_ST_GETAUDIOINFO2, *PAUDIO_ST_GETAUDIOINFO2;
620 
621 
622 typedef struct __attribute__((packed))
623 {
624     AdvSound_SET_Type           eType;
625     MS_U32*                     pParam;
626 }AUDIO_ST_ADV_SOUND_SETPARAM, *PAUDIO_ST_ADV_SOUND_SETPARAM;
627 
628 typedef struct __attribute__((packed))
629 {
630     MS_BOOL                     bSet;
631     OUTPUT_SOURCE_INFO*         stOutputSourceInfo;
632 }AUDIO_ST_OUTPUT_SOURCE, *PAUDIO_ST_OUTPUT_SOURCE;
633 
634 typedef struct __attribute__((packed))
635 {
636     AUDIO_SET_AD_TYPE           eType;
637     MS_U8                       u8Data;
638     MS_U8                       u8Data2;
639     MS_BOOL                     bMute;
640 }AUDIO_ST_SET_AD, *PAUDIO_ST_SET_AD;
641 
642 typedef struct __attribute__((packed))
643 {
644     MS_BOOL                     bSet;
645     AU_DVB_DECCMD               eDecCmd;
646     En_DVB_AudioDecoder         eAdoDecoderNo;
647     En_DVB_decCmdType           enCommandType;
648 }AUDIO_ST_DECODER_COMMAND, *PAUDIO_ST_DECODER_COMMAND;
649 
650 typedef struct __attribute__((packed))
651 {
652     AUDIO_SPDIF_OP              eType;
653     MS_BOOL                     spdif_hwen;
654     MS_BOOL                     mute_en;
655     MS_U8                       spdif_mode;
656 }AUDIO_ST_SPDIF_OP, *PAUDIO_ST_SPDIF_OP;
657 
658 typedef struct __attribute__((packed))
659 {
660     MS_BOOL                     bSetSCMS;
661     MS_U8                       C_bit_en;
662     MS_U8                       L_bit_en;
663     MS_U8                       Ret_bit;
664 }AUDIO_ST_SPDIF_SCMS, *PAUDIO_ST_SPDIF_SCMS;
665 
666 typedef struct __attribute__((packed))
667 {
668     MS_BOOL                     bSet;
669     MS_U8                       nonPCM_en;
670     AUDIO_HDMI_RX_TYPE          eRet;
671 }AUDIO_ST_HDMI_NONPCM_OP, *PAUDIO_ST_HDMI_NONPCM_OP;
672 
673 
674 typedef struct __attribute__((packed))
675 {
676     AUDIO_KTV_OP                eType;
677     AUDIO_KTV_MODEL             modelType;
678     AUDIO_KTV_PARAMTYPE         paramType;
679     AUDIO_KTV_INFOTYPE          infoType;
680     AUDIO_SOURCE_INFO_TYPE      eSourceType;
681     AUDIO_MIX_VOL_TYPE          VolType;
682     MS_U8                       u8Vol1;
683     MS_U8                       u8Vol2;
684     MS_U32                      param1;
685     MS_U32                      param2;
686     MS_BOOL                     EnMute;
687     MS_BOOL                     bRet;
688     MS_U32                      u32Ret;
689 }AUDIO_ST_KTV_OP, *PAUDIO_ST_KTV_OP;
690 
691 typedef struct __attribute__((packed))
692 {
693     MS_BOOL                     bStatus;
694     AUDIO_DEC_ID                DecID;
695     Audio_ParamType             paramType;
696     MS_U32*                     Param;
697 }AUDIO_ST_SETDECODEPARAM, *PAUDIO_ST_SETDECODEPARAM;
698 
699 #if 0
700 typedef struct __attribute__((packed))
701 {
702     AUDIO_INIT_INFO             *pau_info;
703 }AUDIO_ST_AUDIO_INIT_INFO, *PAUDIO_ST_AUDIO_INIT_INFO;
704 
705 typedef struct __attribute__((packed))
706 {
707     AUDIO_PATH_INFO             *path_info;
708 }AUDIO_ST_AUDIO_PATH_INFO, *PAUDIO_ST_AUDIO_PATH_INFO;
709 
710 typedef struct __attribute__((packed))
711 {
712     AUDIO_OUT_INFO              *pout_info;
713 }AUDIO_ST_AUDIO_OUT_INFO, *PAUDIO_ST_AUDIO_OUT_INFO;
714 
715 typedef struct __attribute__((packed))
716 {
717     AUDIO_PEQ_COEF              *peq_coef;
718 }AUDIO_ST_AUDIO_PEQ_COEF, *PAUDIO_ST_AUDIO_PEQ_COEF;
719 #endif
720 
721 typedef struct __attribute__((packed))
722 {
723     AU_DVB_ENC_FRAME_INFO       *EncFrameInfo;
724 }AUDIO_ST_AU_DVB_ENC_FRAME_INFO, *PAUDIO_ST_AU_DVB_ENC_FRAME_INFO;
725 
726 #if 0
727 typedef struct __attribute__((packed))
728 {
729     THR_TBL_TYPE code           *ThrTbl;
730 }AUDIO_ST_THR_TBLL_TYPE, *PAUDIO_ST_THR_TBLL_TYPE;
731 
732 typedef struct __attribute__((packed))
733 {
734     AUDIO_UPLOAD_INFO           *uploadInfo;
735 }AUDIO_ST_UPLOAD_INFO, *PAUDIO_ST_UPLOAD_INFO;
736 #endif
737 typedef struct __attribute__((packed))
738 {
739     audioRingTask               *auRingTask;
740 }AUDIO_ST_AUDIORINGTASK, *PAUDIO_ST_AUDIORINGTASK;
741 
742 typedef struct __attribute__((packed))
743 {
744     MS_BOOL                     bStatus;
745     int*                        pthresh_level_table;
746 }AUDIO_ST_AUDYSSEY_VXT_SET_THRESH_LEVEL_TABLE, *PAUDIO_ST_AUDYSSEY_VXT_SET_THRESH_LEVEL_TABLE;
747 
748 typedef struct __attribute__((packed))
749 {
750     MS_BOOL                     bSet;
751     SPDIF_CS_MODE_TYPE          eType;
752     SPDIF_CS_MODE_VALUE         eValue;
753     MS_U32                      u32Ret;
754 }AUDIO_ST_SPDIF_CHANNELSTATUS, *PAUDIO_ST_SPDIF_CHANNELSTATUS;
755 
756 typedef struct __attribute__((packed))
757 {
758     MS_U32                      u32Ret;
759     AUDIO_DEC_ID                eDecId;
760     MS_U32*                     pu32Caps;
761 }AUDIO_ST_GETCAPS, *PAUDIO_ST_GETCAPS;
762 
763 typedef struct __attribute__((packed))
764 {
765     AU_DVB_ENCCMD               enEncComamnd;
766     void                        *pCB;
767     MS_U8                       u8Param;
768 }AUDIO_ST_SETENCCOMMAND, *PAUDIO_ST_SETENCCOMMAND;
769 
770 typedef struct __attribute__((packed))
771 {
772     MS_U8                       u8Index;
773     union
774     {
775         MS_PHY                  u32Bin_Base_Address;
776         MS_U64                  dummy1;
777     };
778     union
779     {
780         MS_PHY                  u32Mad_Base_Buffer_Adr;
781         MS_U64                  dummy2;
782     };
783 }AUDIO_ST_SET_DSPBASEADDR, *PAUDIO_ST_SET_DSPBASEADDR;
784 
785 typedef struct __attribute__((packed))
786 {
787     union
788     {
789         MS_PHY                  u32Addr;
790         MS_U64                  dummy1;
791     };
792     MS_U8                       u8Index;
793 }AUDIO_ST_GET_DSPBASEADDR, *PAUDIO_ST_GET_DSPBASEADDR;
794 
795 typedef struct __attribute__((packed))
796 {
797     MS_U8                       u8ParamNum;
798     MS_U16                      u16Data;
799 }AUDIO_ST_WRITE_DECMAILBOX, *PAUDIO_ST_WRITE_DECMAILBOX;
800 
801 typedef struct __attribute__((packed))
802 {
803     AUDIO_INPUT_TYPE            eSource;
804     AUDIO_SWITCH_GROUP          eGroup;
805 }AUDIO_ST_INPUTSWITCH, *PAUDIO_ST_INPUTSWITCH;
806 
807 typedef struct __attribute__((packed))
808 {
809     MS_BOOL                     bRet;
810     AUDIO_DEVICE_TYPE           eID;
811     AUDIO_CAPTURE_SOURCE_TYPE   eSource;
812 }AUDIO_ST_SET_DATACAPTURESOURCE, *PAUDIO_ST_SET_DATACAPTURESOURCE;
813 
814 typedef struct __attribute__((packed))
815 {
816     MS_U16                      u16Ret;
817     MS_BOOL                     bDspType;
818     MS_U8                       u8ParamNum;
819 }AUDIO_ST_READ_MAILBOX, *PAUDIO_ST_READ_MAILBOX;
820 
821 typedef struct __attribute__((packed))
822 {
823     MS_BOOL                     bDspType;
824     MS_U8                       u8ParamNum;
825     MS_U16                      u16Data;
826 }AUDIO_ST_WRITE_MAILBOX, *PAUDIO_ST_WRITE_MAILBOX;
827 
828 typedef struct __attribute__((packed))
829 {
830     MS_BOOL                     bDspType;
831     MS_U8                       u8Cmd;
832 }AUDIO_ST_SEND_INTERRUPT, *PAUDIO_ST_SEND_INTERRUPT;
833 
834 typedef struct __attribute__((packed))
835 {
836     AUDIO_I2S_MODE_TYPE         eMode;
837     AUDIO_I2S_MODE_VALUE        eVal;
838 }AUDIO_ST_I2S_SETMODE, *PAUDIO_ST_I2S_SETMODE;
839 
840 typedef struct __attribute__((packed))
841 {
842     MS_BOOL                     bRet;
843     Sound_ENABLE_Type           eType;
844     MS_BOOL                     bEnable;
845 }AUDIO_ST_SND_PROCESSENABLE, *PAUDIO_ST_SND_PROCESSENABLE;
846 
847 typedef struct __attribute__((packed))
848 {
849     MS_BOOL                     bRet;
850     Sound_SET_PARAM_Type        eType;
851     MS_U16                      u16Param1;
852     MS_U16                      u16Param2;
853 }AUDIO_ST_SND_SETPARAM1, *PAUDIO_ST_SND_SETPARAM1;
854 
855 typedef struct __attribute__((packed))
856 {
857     MS_U16                      u16Ret;
858     Sound_GET_PARAM_Type        eType;
859     MS_U16                      u16Param1;
860 }AUDIO_ST_SND_GETPARAM1, *PAUDIO_ST_SND_GETPARAM1;
861 
862 typedef struct __attribute__((packed))
863 {
864     MS_U8                       u8Band;
865     MS_U8                       u8Level;
866 }AUDIO_ST_SETEQ_7BAND, *PAUDIO_ST_SETEQ_7BAND;
867 
868 typedef struct __attribute__((packed))
869 {
870     MS_U8                       u8Path;
871     MS_U8                       u8Vol1;
872     MS_U8                       u8Vol2;
873 }AUDIO_ST_SET_ABSOLUTEVOLUME, *PAUDIO_ST_SET_ABSOLUTEVOLUME;
874 
875 typedef struct __attribute__((packed))
876 {
877     AUDIO_OUTPORT_SOURCE_TYPE   eConnectSourceType;
878     MS_BOOL                     bConnect;
879 }AUDIO_ST_SOURCECONNECT, *PAUDIO_ST_SOURCECONNECT;
880 
881 typedef struct __attribute__((packed))
882 {
883     MS_U8                       u8Ret;
884     MS_U8                       u8Uivolume;
885 }AUDIO_ST_CONVERT_VOLUMEUNIT, *PAUDIO_ST_CONVERT_VOLUMEUNIT;
886 
887 typedef struct __attribute__((packed))
888 {
889     MS_BOOL                     bRet;
890     MS_BOOL                     bEndcremove;
891 }AUDIO_ST_ENABLE_DCREMOVE, *PAUDIO_ST_ENABLE_DCREMOVE;
892 
893 typedef struct __attribute__((packed))
894 {
895     MS_BOOL                     bRet;
896     AUDIO_DEC_ID                eDecId;
897     En_DVB_decCmdType           eDecComamnd;
898 }AUDIO_ST_SET_DECCMD, *PAUDIO_ST_SET_DECCMD;
899 
900 typedef struct __attribute__((packed))
901 {
902     MS_BOOL                     bRet;
903     En_DVB_decSystemType        eDecSystem;
904 }AUDIO_ST_SET_SYSTEM, *PAUDIO_ST_SET_SYSTEM;
905 
906 typedef struct __attribute__((packed))
907 {
908     MS_BOOL                     bRet;
909     En_DVB_decSystemType        eDecSystem;
910 }AUDIO_ST_GET_DECSYSSUPPORTSTATUS, *PAUDIO_ST_GET_DECSYSSUPPORTSTATUS;
911 
912 typedef struct __attribute__((packed))
913 {
914     AU_DVB_ENCBR                eBitRate;
915     MS_U8                       u8EncFrameNum;
916 }AUDIO_ST_SET_ENCINIT, *PAUDIO_ST_SET_ENCINIT;
917 
918 typedef struct __attribute__((packed))
919 {
920     MS_BOOL                     bRet;
921     MS_U8                       u8SifSoundMode;
922 }AUDIO_ST_SIF_SET_SOUNDMODE, *PAUDIO_ST_SIF_SET_SOUNDMODE;
923 
924 typedef struct __attribute__((packed))
925 {
926     AUDIOSTANDARD_TYPE          eRet;
927     AUDIOSTANDARD_TYPE          eStandard;
928 }AUDIO_ST_SIF_SIF_CONVERTTOBASICAUDIOSTANDARD, *PAUDIO_ST_SIF_CONVERTTOBASICAUDIOSTANDARD;
929 
930 typedef struct __attribute__((packed))
931 {
932     MS_U8                       u8GainType;
933     MS_S32                      s32DbValue;
934 }AUDIO_ST_SIF_SETPRESCALE, *PAUDIO_ST_SIF_SETPRESCALE;
935 
936 typedef struct __attribute__((packed))
937 {
938     MS_BOOL                     bRet;
939     AUDIO_SIF_PAL_TYPE          ePalType;
940 }AUDIO_ST_SIF_SIF_ISPALTYPE, *PAUDIO_ST_SIF_ISPALTYPE;
941 
942 typedef struct __attribute__((packed))
943 {
944     En_AUD_SIF_CmdType          eAudSifCommand;
945     MS_U8                       u8CommArg1;
946     MS_U8                       u8CommArg2;
947 }AUDIO_ST_SIF_SENDCMD, *PAUDIO_ST_SIF_SENDCMD;
948 
949 typedef struct __attribute__((packed))
950 {
951     MS_BOOL                     bRet;
952     AUDIO_SPDIF_CS_TYPE         eCsMode;
953     AUDIO_SPDIF_CS_TYPE_STATUS  eStatus;
954 }AUDIO_ST_SPDIF_CHANNELSTATUS_CTRL, *PAUDIO_ST_SPDIF_CHANNELSTATUS_CTRL;
955 
956 typedef struct __attribute__((packed))
957 {
958     MS_BOOL                     bRet;
959     ADVSND_TYPE                 eType;
960 }AUDIO_ST_ADVSOUND_PROCESSENABLE, *PAUDIO_ST_ADVSOUND_PROCESSENABLE;
961 
962 typedef struct __attribute__((packed))
963 {
964     En_DVB_advsndType           eType;
965 }AUDIO_ST_SETADVSNDSYS, *PAUDIO_ST_SETADVSNDSYS;
966 
967 typedef struct __attribute__((packed))
968 {
969     MS_BOOL                     bRet;
970     MS_BOOL                     bEnable;
971     ADVFUNC                     eProc;
972 }AUDIO_ST_ADVSOUND_SUBPROCESSENABLE, *PAUDIO_ST_ADVSOUND_SUBPROCESSENABLE;
973 
974 typedef struct __attribute__((packed))
975 {
976     MS_BOOL                     bRet;
977     MS_U16                      u16Value1;
978     MS_U16                      u16Value2;
979     ADVSND_PARAM                eParam;
980 }AUDIO_ST_ADVSOUND_SETPARAM, *PAUDIO_ST_ADVSOUND_SETPARAM;
981 
982 typedef struct __attribute__((packed))
983 {
984     MS_BOOL                     bRet;
985     MS_U32                      u32Value1;
986     MS_U16                      u16Value2;
987     ADVSND_PARAM                eParam;
988 }AUDIO_ST_ADVSND_SETPARAM, *PAUDIO_ST_ADVSND_SETPARAM;
989 
990 typedef struct __attribute__((packed))
991 {
992     MS_BOOL                     bRet;
993     MS_S16                      s16Value1;
994     MS_S16                      s16Value2;
995     ADVSND_PARAM                eParam;
996 }AUDIO_ST_ADVSND_SETASFPARAM, *PAUDIO_ST_ADVSND_SETASFPARAM;
997 
998 typedef struct __attribute__((packed))
999 {
1000     MS_U8                       u8EnBBE;
1001     MS_U8                       u8BBEMode;
1002 }AUDIO_ST_SETBBE, *PAUDIO_ST_SETBBE;
1003 
1004 typedef struct __attribute__((packed))
1005 {
1006     MS_U8                       u8Mode;
1007     MS_U8                       u8Value;
1008 }AUDIO_ST_SRS_SETTSXTPARA, *PAUDIO_ST_SRS_SETTSXTPARA;
1009 
1010 typedef struct __attribute__((packed))
1011 {
1012     MS_U8                       u8Mode;
1013     MS_U8                       u8Value;
1014 }AUDIO_ST_SRS_SETTSHDPARA, *PAUDIO_ST_SRS_SETTSHDPARA;
1015 
1016 typedef struct __attribute__((packed))
1017 {
1018     MS_U32                      u32Ret;
1019     AdvSound_GET_Type           eType;
1020 }AUDIO_ST_SRS_ADVSOUND_GETINFO, *PAUDIO_ST_SRS_ADVSOUND_GETINFO;
1021 
1022 typedef struct __attribute__((packed))
1023 {
1024     EN_DBXTV_TotSonMode         eTotSonMode;
1025     EN_DBXTV_TotVolMode         eTotVolMode;
1026     EN_DBXTV_TotSurMode         eTotSurMode;
1027     MS_U32                      u32Enable;
1028 }AUDIO_ST_DBXTV_SETMODE, *PAUDIO_ST_DBXTV_SETMODE;
1029 
1030 typedef struct __attribute__((packed))
1031 {
1032     MS_BOOL                     bRet;
1033     Audio_COMM_infoType         eInfoType;
1034     union
1035     {
1036         MS_VIRT                 Param1;
1037         MS_U64 dummy1;
1038     };
1039     union
1040     {
1041         MS_VIRT                 Param2;
1042         MS_U64 dummy2;
1043     };
1044 }AUDIO_ST_SET_COMMAUDIOINFO, *PAUDIO_ST_SET_COMMAUDIOINFO;
1045 
1046 typedef struct __attribute__((packed))
1047 {
1048     MS_BOOL                     bRet;
1049     Audio_MPEG_infoType         eInfoType;
1050 
1051     union
1052     {
1053         MS_VIRT                 Param1;
1054         MS_U64                  dummy1;
1055     };
1056     union
1057     {
1058         MS_VIRT                 Param2;
1059         MS_U64                  dummy2;
1060     };
1061 }AUDIO_ST_SET_MPEGINFO, *PAUDIO_ST_SET_MPEGINFO;
1062 
1063 typedef struct __attribute__((packed))
1064 {
1065     MS_BOOL                     bRet;
1066     Audio_AC3_infoType          eInfoType;
1067     union
1068     {
1069         MS_VIRT                 Param1;
1070         MS_U64                  dummy1;
1071     };
1072     union
1073     {
1074         MS_VIRT                 Param2;
1075         MS_U64                  dummy2;
1076     };
1077 }AUDIO_ST_SET_AC3INFO, *PAUDIO_ST_SET_AC3INFO;
1078 
1079 typedef struct __attribute__((packed))
1080 {
1081     MS_BOOL                     bRet;
1082     Audio_AC3P_infoType         eInfoType;
1083     union
1084     {
1085         MS_VIRT                 Param1;
1086         MS_U64                  dummy1;
1087     };
1088     union
1089     {
1090         MS_VIRT                 Param2;
1091         MS_U64                  dummy2;
1092     };
1093 }AUDIO_ST_SET_AC3PINFO, *PAUDIO_ST_SET_AC3PINFO;
1094 
1095 typedef struct __attribute__((packed))
1096 {
1097     MS_BOOL                     bRet;
1098     Audio_AAC_infoType          eInfoType;
1099     union
1100     {
1101         MS_VIRT                 Param1;
1102         MS_U64                  dummy1;
1103     };
1104     union
1105     {
1106         MS_VIRT                 Param2;
1107         MS_U64                  dummy2;
1108     };
1109 }AUDIO_ST_SET_AACINFO, *PAUDIO_ST_SET_AACINFO;
1110 
1111 typedef struct __attribute__((packed))
1112 {
1113     MS_BOOL                     bRet;
1114     Audio_WMA_infoType          eInfoType;
1115     union
1116     {
1117         MS_VIRT                 Param1;
1118         MS_U64                  dummy1;
1119     };
1120     union
1121     {
1122         MS_VIRT                 Param2;
1123         MS_U64                  dummy2;
1124     };
1125 }AUDIO_ST_SET_WMAINFO, *PAUDIO_ST_SET_WMAINFO;
1126 
1127 typedef struct __attribute__((packed))
1128 {
1129     MS_BOOL                     bRet;
1130     Audio_DTS_infoType          eInfoType;
1131     Audio_DTS_CtrlType          eCtrlType;
1132 }AUDIO_ST_SET_DTSCOMMONCTRL, *PAUDIO_ST_SET_DTSCOMMONCTRL;
1133 
1134 typedef struct __attribute__((packed))
1135 {
1136     MS_BOOL                     bRet;
1137     AUDIO_DEC_ID                eDecId;
1138 }AUDIO_ST_MM2_INITAESINFO, *PAUDIO_ST_MM2_INITAESINFO;
1139 
1140 typedef struct __attribute__((packed))
1141 {
1142     XPCM_TYPE                   eAudioType;
1143     MS_U8                       u8Channels;
1144     MS_U16                      u16SampleRate;
1145     MS_U8                       u8BitsPerSample;
1146     MS_U16                      u16BlockSize;
1147     MS_U16                      u16SamplePerBlock;
1148 }AUDIO_ST_SET_XPCMPARAM, *PAUDIO_ST_SET_XPCMPARAM;
1149 
1150 typedef struct __attribute__((packed))
1151 {
1152     MS_U64                      u64Ret;
1153     Audio_COMM_infoType         eInfoType;
1154 }AUDIO_ST_GET_COMMAUDIOINFO, *PAUDIO_ST_GET_COMMAUDIOINFO;
1155 
1156 typedef struct __attribute__((packed))
1157 {
1158     MS_U32                      u32Ret;
1159     Audio_MPEG_infoType         eInfoType;
1160 }AUDIO_ST_GET_MPEGINFO, *PAUDIO_ST_GET_MPEGINFO;
1161 
1162 typedef struct __attribute__((packed))
1163 {
1164     MS_U32                      u32Ret;
1165     Audio_AC3_infoType          eInfoType;
1166 }AUDIO_ST_GET_AC3INFO, *PAUDIO_ST_GET_AC3INFO;
1167 
1168 typedef struct __attribute__((packed))
1169 {
1170     MS_U32                      u32Ret;
1171     Audio_AC3P_infoType         eInfoType;
1172 }AUDIO_ST_GET_AC3PINFO, *PAUDIO_ST_GET_AC3PINFO;
1173 
1174 typedef struct __attribute__((packed))
1175 {
1176     MS_U32                      u32Ret;
1177     Audio_AAC_infoType          eInfoType;
1178 }AUDIO_ST_GET_AACINFO, *PAUDIO_ST_GET_AACINFO;
1179 
1180 typedef struct __attribute__((packed))
1181 {
1182     MS_U32                      u32Ret;
1183     Audio_WMA_infoType          eInfoType;
1184 }AUDIO_ST_GET_WMAINFO, *PAUDIO_ST_GET_WMAINFO;
1185 
1186 typedef struct __attribute__((packed))
1187 {
1188     MS_U32                      u32Ret;
1189     Audio_DTS_infoType          eInfoType;
1190 }AUDIO_ST_GET_DTSINFO, *PAUDIO_ST_GET_DTSINFO;
1191 
1192 typedef struct __attribute__((packed))
1193 {
1194     MS_U8                       u8Ret;
1195     XPCM_TYPE                   eAudioType;
1196     MS_U8                       u8Channels;
1197     MS_U16                      u16SampleRate;
1198     MS_U8                       u8BitsPerSample;
1199     MS_U16                      u16BlockSize;
1200     MS_U16                      u16SamplePerBlock;
1201 }AUDIO_ST_XPCMPARAM, *PAUDIO_ST_XPCMPARAM;
1202 
1203 typedef struct __attribute__((packed))
1204 {
1205     MS_U16                      u16Ret;
1206     MS_U16                      u16BitRate;
1207 }AUDIO_ST_GET_PCMBUFFERSIZE, *PAUDIO_ST_GET_PCMBUFFERSIZE;
1208 
1209 typedef struct __attribute__((packed))
1210 {
1211     MS_U16                      u16Ret;
1212     MS_U16                      u16BitRate;
1213     MS_U16                      u16SampleRate;
1214 }AUDIO_ST_GET_PCMBUFFERSIZE2, *PAUDIO_ST_GET_PCMBUFFERSIZE2;
1215 
1216 typedef struct __attribute__((packed))
1217 {
1218     WMA_ASF_PARMTYPE            eParmType;
1219     MS_U32                      u32Value;
1220 }AUDIO_ST_SET_ASFPARM, *PAUDIO_ST_SET_ASFPARM;
1221 
1222 typedef struct __attribute__((packed))
1223 {
1224     En_DVB_AudioDecoder         eAudDecoderNo;
1225     MS_U8                       u8IntTag;
1226 }AUDIO_ST_MM_SETINPUT, *PAUDIO_ST_MM_SETINPUT;
1227 
1228 typedef struct __attribute__((packed))
1229 {
1230     MS_U32                      u32Ret;
1231     En_DVB_AudioDecoder         eAudDecoderNo;
1232 }AUDIO_ST_MM_CHECKPLAYDONE, *PAUDIO_ST_MM_CHECKPLAYDONE;
1233 
1234 typedef struct __attribute__((packed))
1235 {
1236     MS_BOOL                     bRet;
1237     AUDIO_VoIP_CONFIG_TYPE      eConfigType;
1238     MS_U32                      u32Param1;
1239     MS_U32                      u32Param2;
1240 }AUDIO_ST_VOIP_CONFIG, *PAUDIO_ST_VOIP_CONFIG;
1241 
1242 typedef struct __attribute__((packed))
1243 {
1244     MS_BOOL                     bRet;
1245     MS_BOOL                     bEnable;
1246 }AUDIO_ST_ALSA_ENABLE, *PAUDIO_ST_ALSA_ENABLE;
1247 
1248 typedef struct __attribute__((packed))
1249 {
1250     MS_BOOL                     bRet;
1251     AUDIO_DEC_ID                eDecId;
1252     Audio_ParamType             eParamType;
1253     union
1254     {
1255         MS_VIRT                 Param;
1256         MS_U64                  dummy1;
1257     };
1258 }AUDIO_ST_SET_AUDIOPARAM2, *PAUDIO_ST_SET_AUDIOPARAM2;
1259 
1260 typedef struct __attribute__((packed))
1261 {
1262     union
1263     {
1264         MS_PHY                  Ret;
1265         MS_U64                  dummy1;
1266     };
1267     AUDIO_DEC_ID                eDecId;
1268     EN_AUDIO_DDRINFO            eDdrInfo;
1269 }AUDIO_ST_GET_DDRINFO, *PAUDIO_ST_GET_DDRINFO;
1270 
1271 typedef struct __attribute__((packed))
1272 {
1273     MS_S32                      s32Ret;
1274     void*                       pData;
1275 }AUDIO_ST_PCM_OPEN, *PAUDIO_ST_PCM_OPEN;
1276 
1277 typedef struct __attribute__((packed))
1278 {
1279     MS_S32                      s32Ret;
1280     MS_S32                      s32DeviceId;
1281 }AUDIO_ST_PCM_CLOSE, *PAUDIO_ST_PCM_CLOSE;
1282 
1283 typedef struct __attribute__((packed))
1284 {
1285     MS_S32                      s32Ret;
1286     MS_S32                      s32DeviceId;
1287 }AUDIO_ST_PCM_START, *PAUDIO_ST_PCM_START;
1288 
1289 typedef struct __attribute__((packed))
1290 {
1291     MS_S32                      s32Ret;
1292     MS_S32                      s32DeviceId;
1293 }AUDIO_ST_PCM_STOP, *PAUDIO_ST_PCM_STOP;
1294 
1295 typedef struct __attribute__((packed))
1296 {
1297     MS_S32                      s32Ret;
1298     MS_S32                      s32DeviceId;
1299     MS_U32                      u32Cmd;
1300     const void*                 pData;
1301 }AUDIO_ST_PCM_SET, *PAUDIO_ST_PCM_SET;
1302 
1303 typedef struct __attribute__((packed))
1304 {
1305     MS_S32                      s32Ret;
1306     MS_S32                      s32DeviceId;
1307     MS_U32                      u32Cmd;
1308     void*                       pData;
1309 }AUDIO_ST_PCM_GET, *PAUDIO_ST_PCM_GET;
1310 
1311 typedef struct __attribute__((packed))
1312 {
1313     MS_U32                      u32Ret;
1314     MS_S32                      s32DeviceId;
1315     MS_U32                      u32Size;
1316     void*                       pBuf;
1317 }AUDIO_ST_PCM_READ, *PAUDIO_ST_PCM_READ;
1318 
1319 typedef struct __attribute__((packed))
1320 {
1321     MS_U32                      u32Ret;
1322     MS_S32                      s32DeviceId;
1323     MS_U32                      u32Size;
1324     const void*                 pBuf;
1325 }AUDIO_ST_PCM_WRITE, *PAUDIO_ST_PCM_WRITE;
1326 
1327 typedef struct __attribute__((packed))
1328 {
1329     MS_S32                      s32Ret;
1330     MS_S32                      s32DeviceId;
1331 }AUDIO_ST_PCM_FLUSH, *PAUDIO_ST_PCM_FLUSH;
1332 
1333 typedef struct __attribute__((packed))
1334 {
1335     MS_S32                      s32Ret;
1336     const char*                 pName;
1337 }AUDIO_ST_ENCODER_OPEN, *PAUDIO_ST_ENCODER_OPEN;
1338 
1339 typedef struct __attribute__((packed))
1340 {
1341     MS_S32                      s32Ret;
1342     MS_S32                      s32DeviceId;
1343 }AUDIO_ST_ENCODER_CLOSE, *PAUDIO_ST_ENCODER_CLOSE;
1344 
1345 typedef struct __attribute__((packed))
1346 {
1347     MS_S32                      s32Ret;
1348     MS_S32                      s32DeviceId;
1349 }AUDIO_ST_ENCODER_START, *PAUDIO_ST_ENCODER_START;
1350 
1351 typedef struct __attribute__((packed))
1352 {
1353     MS_S32                      s32Ret;
1354     MS_S32                      s32DeviceId;
1355 }AUDIO_ST_ENCODER_STOP, *PAUDIO_ST_ENCODER_STOP;
1356 
1357 typedef struct __attribute__((packed))
1358 {
1359     MS_S32                      s32Ret;
1360     MS_S32                      s32DeviceId;
1361     const char*                 pCmd;
1362     void*                       pData;
1363 }AUDIO_ST_ENCODER_IOCTL, *PAUDIO_ST_ENCODER_IOCTL;
1364 
1365 typedef struct __attribute__((packed))
1366 {
1367     MS_U32                      u32Ret;
1368     MS_S32                      s32DeviceId;
1369     MS_U32                      u32Size;
1370     void*                       pBuf;
1371 }AUDIO_ST_ENCODER_READ, *PAUDIO_ST_ENCODER_READ;
1372 
1373 typedef struct __attribute__((packed))
1374 {
1375     MS_S32                      s32Ret;
1376     MS_S32                      s32DeviceId;
1377 }AUDIO_ST_ENCODER_FLUSH, *PAUDIO_ST_ENCODER_FLUSH;
1378 
1379 #ifdef __cplusplus
1380 }
1381 #endif
1382 
1383 
1384 #endif //_AUDIO_H_
1385