blob: 23918be0b04672ce7f0186fb828c3cb65313baad
1 | #ifndef __TV_AUDIO_API_H__ |
2 | #define __TV_AUDIO_API_H__ |
3 | |
4 | #include "tvsetting/audio_cfg.h" |
5 | #include "audio_alsa.h" |
6 | #include "audio_effect.h" |
7 | |
8 | enum CC_AUDIO_SWITCH_STATUS { |
9 | CC_SWITCH_OFF, |
10 | CC_SWITCH_ON, |
11 | }; |
12 | |
13 | enum CC_AMAUDIO_OUT_MODE { |
14 | CC_AMAUDIO_OUT_MODE_DIRECT, |
15 | CC_AMAUDIO_OUT_MODE_MIX, |
16 | }; |
17 | |
18 | static const int CC_SPDIF_MODE_PCM = 0; |
19 | static const int CC_SPDIF_MODE_RAW = 1; |
20 | |
21 | static const int CC_MIN_SOUND_VOL = 0; |
22 | static const int CC_MAX_SOUND_VOL = (100); |
23 | static const int CC_DEF_SOUND_VOL = (30); |
24 | static const int CC_MIN_SUPPERBASS_VOL = (0); |
25 | static const int CC_MAX_SUPPERBASS_VOL = (100); |
26 | static const int CC_DEF_SUPPERBASS_VOL = (50); |
27 | |
28 | static const int CC_VOLUME_COMPENSATION_MIN_VAL = (-20); |
29 | static const int CC_VOLUME_COMPENSATION_MAX_VAL = (20); |
30 | static const int CC_VOLUME_COMPENSATION_DEF_VAL = (0); |
31 | |
32 | static const int CC_DEF_BASS_TREBLE_VOL = 50; |
33 | static const int CC_EQ_BASS_IND = 1; |
34 | static const int CC_EQ_TREBLE_IND = 3; |
35 | static const int CC_EQ_DEF_UI_MIN_GAIN = 0; |
36 | static const int CC_EQ_DEF_UI_MAX_GAIN = 100; |
37 | static const int CC_LUT_SEL_TV = 0; |
38 | static const int CC_LUT_SEL_AV = 1; |
39 | static const int CC_LUT_SEL_COMP = 2; |
40 | static const int CC_LUT_SEL_HDMI = 3; |
41 | static const int CC_LUT_SEL_VGA = 4; |
42 | static const int CC_LUT_SEL_MPEG = 5; |
43 | static const int CC_LUT_SEL_COUNT = 6; |
44 | |
45 | |
46 | enum CC_AUD_SOUND_MODE { |
47 | CC_SOUND_MODE_START = 0, |
48 | CC_SOUND_MODE_STD = 0, |
49 | CC_SOUND_MODE_MUSIC, |
50 | CC_SOUND_MODE_NEWS, |
51 | CC_SOUND_MODE_THEATER, |
52 | CC_SOUND_MODE_USER, |
53 | CC_SOUND_MODE_END = CC_SOUND_MODE_USER |
54 | }; |
55 | |
56 | enum CC_AUD_EQ_MODE { |
57 | CC_EQ_MODE_START = 0, |
58 | CC_EQ_MODE_NOMAL = 0, |
59 | CC_EQ_MODE_POP, |
60 | CC_EQ_MODE_JAZZ, |
61 | CC_EQ_MODE_ROCK, |
62 | CC_EQ_MODE_CLASSIC, |
63 | CC_EQ_MODE_DANCE, |
64 | CC_EQ_MODE_PARTY, |
65 | CC_EQ_MODE_BASS, |
66 | CC_EQ_MODE_TREBLE, |
67 | CC_EQ_MODE_CUSTOM, |
68 | CC_EQ_MODE_END = CC_EQ_MODE_CUSTOM |
69 | }; |
70 | class CTvAudio { |
71 | public: |
72 | CTvAudio(); |
73 | ~CTvAudio(); |
74 | //Audio Mute |
75 | int SetAudioMuteForSystem(int); |
76 | int GetAudioMuteForSystem(); |
77 | int SetAudioMuteForTv(int ); |
78 | int GetAudioMuteForTv(); |
79 | int SetAudioAVOutMute(int muteStatus); |
80 | int GetAudioAVOutMute(); |
81 | int SetAudioSPDIFMute(int muteStatus); |
82 | int GetAudioSPDIFMute(); |
83 | |
84 | //Audio Master Volume |
85 | int SetAudioMasterVolume(int tmp_vol); |
86 | int GetAudioMasterVolume(); |
87 | int SaveCurAudioMasterVolume(int tmp_vol); |
88 | int GetCurAudioMasterVolume(); |
89 | |
90 | //Audio Balance |
91 | int SetAudioBalance(int tmp_val); |
92 | int GetAudioBalance(); |
93 | int SaveCurAudioBalance(int tmp_val); |
94 | int GetCurAudioBalance(); |
95 | |
96 | //Audio SupperBass Volume |
97 | int SetAudioSupperBassVolume(int tmp_vol); |
98 | int GetAudioSupperBassVolume(); |
99 | int SaveCurAudioSupperBassVolume(int tmp_vol); |
100 | int GetCurAudioSupperBassVolume(); |
101 | |
102 | //Audio SupperBass Switch |
103 | int SetAudioSupperBassSwitch(int tmp_val); |
104 | int GetAudioSupperBassSwitch(); |
105 | int SaveCurAudioSupperBassSwitch(int tmp_val); |
106 | int GetCurAudioSupperBassSwitch(); |
107 | |
108 | //Audio SRS Surround switch |
109 | int SetAudioSRSSurround(int tmp_val); |
110 | int GetAudioSRSSurround(); |
111 | int SaveCurAudioSrsSurround(int tmp_val); |
112 | int GetCurAudioSRSSurround(); |
113 | |
114 | //Audio SRS Dialog Clarity |
115 | int SetAudioSrsDialogClarity(int tmp_val); |
116 | int GetAudioSrsDialogClarity(); |
117 | int SaveCurAudioSrsDialogClarity(int tmp_val); |
118 | int GetCurAudioSrsDialogClarity(); |
119 | |
120 | //Audio SRS Trubass |
121 | int SetAudioSrsTruBass(int tmp_val); |
122 | int GetAudioSrsTruBass(); |
123 | int SaveCurAudioSrsTruBass(int tmp_val); |
124 | int GetCurAudioSrsTruBass(); |
125 | |
126 | //Audio SPDIF switch |
127 | int SetAudioSPDIFSwitch(int tmp_val); |
128 | int GetCurAudioSPDIFSwitch(); |
129 | int SaveCurAudioSPDIFSwitch(int tmp_val); |
130 | |
131 | //Audio SPDIF Mode |
132 | int SetAudioSPDIFMode(int tmp_val); |
133 | int GetCurAudioSPDIFMode(); |
134 | int SaveCurAudioSPDIFMode(int tmp_val); |
135 | |
136 | //Audio Bass |
137 | int SetAudioBassVolume(int tmp_vol); |
138 | int GetAudioBassVolume(); |
139 | int SaveCurAudioBassVolume(int tmp_vol); |
140 | int GetCurAudioBassVolume(); |
141 | |
142 | //Audio Treble |
143 | int SetAudioTrebleVolume(int tmp_vol); |
144 | int GetAudioTrebleVolume(); |
145 | int SaveCurAudioTrebleVolume(int tmp_vol); |
146 | int GetCurAudioTrebleVolume(); |
147 | |
148 | //Audio Sound Mode |
149 | int SetAudioSoundMode(int tmp_val); |
150 | int GetAudioSoundMode(); |
151 | int SaveCurAudioSoundMode(int tmp_val); |
152 | int GetCurAudioSoundMode(); |
153 | |
154 | //Audio Wall Effect |
155 | int SetAudioWallEffect(int tmp_val); |
156 | int GetAudioWallEffect(); |
157 | int SaveCurAudioWallEffect(int tmp_val); |
158 | int GetCurAudioWallEffect(); |
159 | |
160 | //Audio EQ Mode |
161 | int SetAudioEQMode(int tmp_val); |
162 | int GetAudioEQMode(); |
163 | int SaveCurAudioEQMode(int tmp_val); |
164 | int GetCurAudioEQMode(); |
165 | |
166 | //Audio EQ Gain |
167 | int GetAudioEQRange(int range_buf[]); |
168 | int GetAudioEQBandCount(); |
169 | int SetAudioEQGain(int gain_buf[]); |
170 | int GetAudioEQGain(int gain_buf[]); |
171 | int GetCurAudioEQGain(int gain_buf[]); |
172 | int SaveCurAudioEQGain(int gain_buf[]); |
173 | int SetAudioEQSwitch(int switch_val); |
174 | |
175 | // amAudio |
176 | int OpenAmAudio(unsigned int sr, int output_device); |
177 | int CloseAmAudio(void); |
178 | int SetAmAudioInputSr(unsigned int sr, int output_device); |
179 | int SetAmAudioOutputMode(int mode); |
180 | int SetAmAudioMusicGain(int gain); |
181 | int SetAmAudioLeftGain(int gain); |
182 | int SetAmAudioRightGain(int gain); |
183 | |
184 | int SetAudioVolumeCompensationVal(int tmp_vol_comp_val); |
185 | int GetAudioVolumeCompensationVal(); |
186 | |
187 | int AudioLineInSelectChannel(int audio_channel); |
188 | int AudioSetLineInCaptureVolume(int l_vol, int r_vol); |
189 | int SetKalaokIO(int level); |
190 | |
191 | int AudioHandleHeadsetPlugIn(); |
192 | int AudioHandleHeadsetPullOut(); |
193 | int amAudioSetDoubleOutputSwitch(int en_val); |
194 | int setAudioPcmPlaybackVolume(int val); |
195 | int UsbAudioOuputModuleSwitch(int sw); |
196 | int GetAmAudioSetDoubleOutputSwitch(); |
197 | int GetCurUsbAudioOuputModuleSwitch(); |
198 | int amAudioSetTvDoubleOutput(int en_val, unsigned int sr, int input_device, int output_device); |
199 | |
200 | void AudioCtlInitializeLoad(); |
201 | void AudioCtlInit(); |
202 | void AudioCtlUninit(); |
203 | void AudioSetVolumeDigitLUTBuf(int lut_sel_flag, int add_srs_gain_flag, int add_eq_gain_flag, int audio_std); |
204 | int openTvAudio(int sr); |
205 | |
206 | int AudioDataInitForDtv(); |
207 | int AudioDataInit(int sr, bool enableNoiseGate); |
208 | int AudioDataUnInit(); |
209 | int AudioChangeSampleRate(int sr); |
210 | int AudioSetAudioInSource(int audio_src_in_type); |
211 | int AudioSetAudioSourceType(int source_type); |
212 | int AudioSSMRestoreDefaultSetting(); |
213 | int AudioRegisterInterface(); |
214 | int AudioGetSessionId(); |
215 | int AudioNewAudioEffects(void); |
216 | void AudioFreeAudioEffects(void); |
217 | int SetAudioDumpDataFlag(int tmp_flag); |
218 | int GetAudioDumpDataFlag(); |
219 | int SetAudioLeftRightMode(unsigned int mode); |
220 | unsigned int GetAudioLeftRightMode(); |
221 | int AudioSetMicroPhoneSwitch(int switch_val); |
222 | void AudioSetNoiseGateThreshold(int thresh); |
223 | int AudioSetRecordDataZero(bool flag); |
224 | int SwitchAVOutBypass (int); |
225 | int SetAudioSwitchIO(int value); |
226 | int SetOutput_Swap(int value); |
227 | |
228 | private: |
229 | void RealHandleVolumeDigitLUTBuf(int lut_buf_type, int lut_sel_flag, |
230 | int vol_buf[], int add_srs_gain_flag, int add_eq_gain_flag); |
231 | int handleAudioSPDIFMute(int muteStatus); |
232 | int LoadCurAudioSPDIFMode(); |
233 | int LoadCurAudioMasterVolume(); |
234 | int LoadCurAudioBalance(); |
235 | int LoadCurAudioSupperBassVolume(); |
236 | int LoadCurAudioSupperBassSwitch(); |
237 | int LoadCurAudioSrsSurround(); |
238 | int LoadCurAudioSrsDialogClarity(); |
239 | void RealSetSRS(); |
240 | int LoadCurAudioSPDIFSwitch(); |
241 | void HanldeSupperBassSRSSpeakerSize(); |
242 | int LoadCurAudioSoundMode(); |
243 | int LoadCurAudioEQMode(); |
244 | int LoadCurAudioSrsTruBass(); |
245 | int SetDacGain(); |
246 | int RealSaveCurAudioBassVolume(int, int); |
247 | int LoadCurAudioBassVolume(); |
248 | int RealSaveCurAudioTrebleVolume(int, int); |
249 | int LoadCurAudioTrebleVolume(); |
250 | int HandleTrebleBassVolume(); |
251 | int LoadCurAudioWallEffect(); |
252 | int RealReadCurAudioEQGain(int *); |
253 | int RealSaveCurAudioEQGain(int *, int); |
254 | int LoadCurAudioEQGain(); |
255 | int MappingEQGain(int *, int *, int); |
256 | int RestoreToAudioDefEQGain(int *); |
257 | int CheckAudioEQGain(int *, int); |
258 | int GetCustomEQGain(int *); |
259 | int SetCustomEQGain(); |
260 | int AudioSetEQGain(int *); |
261 | int handleEQGainBeforeSet(int *, int *); |
262 | int RealSetEQGain(int *); |
263 | int SetSpecialModeEQGain(int); |
264 | int SetSpecialIndexEQGain(int, int); |
265 | int SaveSpecialIndexEQGain(int, int); |
266 | void LoadAudioCtl(); |
267 | void InitSetAudioCtl(); |
268 | int GetAudioFirstInitSetFlag(); |
269 | int HanldeAudioInputSr(unsigned int); |
270 | int waitServiceManager(); |
271 | void *AudioCtlInitSetMain(void *); |
272 | void AudioCtlInitializeSet(); |
273 | int GetEQMinGainVal(); |
274 | int GetEQMaxGainVal(); |
275 | int GetEQUIMinGainVal(); |
276 | int GetEQUIMaxGainVal(); |
277 | int GetBassUIMinGainVal(); |
278 | int GetBassUIMaxGainVal(); |
279 | int GetTrebleUIMinGainVal(); |
280 | int GetTrebleUIMaxGainVal(); |
281 | int MappingLine(int, int, int, int, int); |
282 | int MappingTrebleBassAndEqualizer(int, int, int, int); |
283 | void HandleSupperBassSwicth(); |
284 | int InitSetTvAudioCard(); |
285 | int UnInitSetTvAudioCard(); |
286 | int SetSPDIFMode(int mode_val); |
287 | |
288 | |
289 | CAudioAlsa mAudioAlsa; |
290 | CAudioEffect mAudioEffect; |
291 | int mAudioMuteStatusForSystem; |
292 | int mAudioMuteStatusForTv; |
293 | |
294 | int mCurAudioMasterVolume; |
295 | int mCurAudioBalance; |
296 | int mCurAudioSupperBassVolume; |
297 | int mCurAudioSupperBassSwitch; |
298 | int mCurAudioSRSSurround; |
299 | int mCurAudioSrsDialogClarity; |
300 | int mCurAudioSrsTruBass; |
301 | int mCurAudioSPDIFSwitch; |
302 | int mCurAudioSPDIFMode; |
303 | int mCurAudioBassVolume; |
304 | int mCurAudioTrebleVolume; |
305 | int mCurAudioSoundMode; |
306 | int mCurAudioWallEffect; |
307 | int mCurAudioEQMode; |
308 | int mCustomAudioMasterVolume; |
309 | int mCustomAudioBalance; |
310 | int mCustomAudioSupperBassVolume; |
311 | int mCustomAudioSupperBassSwitch; |
312 | int mCustomAudioSRSSurround; |
313 | int mCustomAudioSrsDialogClarity; |
314 | int mCustomAudioSrsTruBass; |
315 | int mCustomAudioBassVolume; |
316 | int mCustomAudioTrebleVolume; |
317 | int mCustomAudioSoundMode; |
318 | int mCustomAudioWallEffect; |
319 | int mCustomAudioEQMode; |
320 | int mCustomAudioSoundEnhancementSwitch; |
321 | volatile int mVolumeCompensationVal; |
322 | }; |
323 | #endif //__TV_AUDIO_API_H__ |
324 |