blob: 89e735689071edb5918a767de66f1e657c1993d1
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 | { |
72 | public: |
73 | CTvAudio(); |
74 | ~CTvAudio(); |
75 | //Audio Mute |
76 | int SetAudioMuteForSystem(int); |
77 | int GetAudioMuteForSystem(); |
78 | int SetAudioMuteForTv(int ); |
79 | int GetAudioMuteForTv(); |
80 | int SetAudioAVOutMute(int muteStatus); |
81 | int GetAudioAVOutMute(); |
82 | int SetAudioSPDIFMute(int muteStatus); |
83 | int GetAudioSPDIFMute(); |
84 | |
85 | //Audio Master Volume |
86 | int SetAudioMasterVolume(int tmp_vol); |
87 | int GetAudioMasterVolume(); |
88 | int SaveCurAudioMasterVolume(int tmp_vol); |
89 | int GetCurAudioMasterVolume(); |
90 | |
91 | //Audio Balance |
92 | int SetAudioBalance(int tmp_val); |
93 | int GetAudioBalance(); |
94 | int SaveCurAudioBalance(int tmp_val); |
95 | int GetCurAudioBalance(); |
96 | |
97 | //Audio SupperBass Volume |
98 | int SetAudioSupperBassVolume(int tmp_vol); |
99 | int GetAudioSupperBassVolume(); |
100 | int SaveCurAudioSupperBassVolume(int tmp_vol); |
101 | int GetCurAudioSupperBassVolume(); |
102 | |
103 | //Audio SupperBass Switch |
104 | int SetAudioSupperBassSwitch(int tmp_val); |
105 | int GetAudioSupperBassSwitch(); |
106 | int SaveCurAudioSupperBassSwitch(int tmp_val); |
107 | int GetCurAudioSupperBassSwitch(); |
108 | |
109 | //Audio SRS Surround switch |
110 | int SetAudioSRSSurround(int tmp_val); |
111 | int GetAudioSRSSurround(); |
112 | int SaveCurAudioSrsSurround(int tmp_val); |
113 | int GetCurAudioSRSSurround(); |
114 | |
115 | //Audio SRS Dialog Clarity |
116 | int SetAudioSrsDialogClarity(int tmp_val); |
117 | int GetAudioSrsDialogClarity(); |
118 | int SaveCurAudioSrsDialogClarity(int tmp_val); |
119 | int GetCurAudioSrsDialogClarity(); |
120 | |
121 | //Audio SRS Trubass |
122 | int SetAudioSrsTruBass(int tmp_val); |
123 | int GetAudioSrsTruBass(); |
124 | int SaveCurAudioSrsTruBass(int tmp_val); |
125 | int GetCurAudioSrsTruBass(); |
126 | |
127 | //Audio SPDIF switch |
128 | int SetAudioSPDIFSwitch(int tmp_val); |
129 | int GetCurAudioSPDIFSwitch(); |
130 | int SaveCurAudioSPDIFSwitch(int tmp_val); |
131 | |
132 | //Audio SPDIF Mode |
133 | int SetAudioSPDIFMode(int tmp_val); |
134 | int GetCurAudioSPDIFMode(); |
135 | int SaveCurAudioSPDIFMode(int tmp_val); |
136 | |
137 | //Audio Bass |
138 | int SetAudioBassVolume(int tmp_vol); |
139 | int GetAudioBassVolume(); |
140 | int SaveCurAudioBassVolume(int tmp_vol); |
141 | int GetCurAudioBassVolume(); |
142 | |
143 | //Audio Treble |
144 | int SetAudioTrebleVolume(int tmp_vol); |
145 | int GetAudioTrebleVolume(); |
146 | int SaveCurAudioTrebleVolume(int tmp_vol); |
147 | int GetCurAudioTrebleVolume(); |
148 | |
149 | //Audio Sound Mode |
150 | int SetAudioSoundMode(int tmp_val); |
151 | int GetAudioSoundMode(); |
152 | int SaveCurAudioSoundMode(int tmp_val); |
153 | int GetCurAudioSoundMode(); |
154 | |
155 | //Audio Wall Effect |
156 | int SetAudioWallEffect(int tmp_val); |
157 | int GetAudioWallEffect(); |
158 | int SaveCurAudioWallEffect(int tmp_val); |
159 | int GetCurAudioWallEffect(); |
160 | |
161 | //Audio EQ Mode |
162 | int SetAudioEQMode(int tmp_val); |
163 | int GetAudioEQMode(); |
164 | int SaveCurAudioEQMode(int tmp_val); |
165 | int GetCurAudioEQMode(); |
166 | |
167 | //Audio EQ Gain |
168 | int GetAudioEQRange(int range_buf[]); |
169 | int GetAudioEQBandCount(); |
170 | int SetAudioEQGain(int gain_buf[]); |
171 | int GetAudioEQGain(int gain_buf[]); |
172 | int GetCurAudioEQGain(int gain_buf[]); |
173 | int SaveCurAudioEQGain(int gain_buf[]); |
174 | int SetAudioEQSwitch(int switch_val); |
175 | |
176 | // amAudio |
177 | int OpenAmAudio(unsigned int sr, int output_device); |
178 | int CloseAmAudio(void); |
179 | int SetAmAudioInputSr(unsigned int sr, int output_device); |
180 | int SetAmAudioOutputMode(int mode); |
181 | int SetAmAudioMusicGain(int gain); |
182 | int SetAmAudioLeftGain(int gain); |
183 | int SetAmAudioRightGain(int gain); |
184 | |
185 | int SetAudioVolumeCompensationVal(int tmp_vol_comp_val); |
186 | int GetAudioVolumeCompensationVal(); |
187 | |
188 | int AudioLineInSelectChannel(int audio_channel); |
189 | int AudioSetLineInCaptureVolume(int l_vol, int r_vol); |
190 | int SetKalaokIO(int level); |
191 | |
192 | int AudioHandleHeadsetPlugIn(); |
193 | int AudioHandleHeadsetPullOut(); |
194 | int amAudioSetDoubleOutputSwitch(int en_val); |
195 | int setAudioPcmPlaybackVolume(int val); |
196 | int UsbAudioOuputModuleSwitch(int sw); |
197 | int GetAmAudioSetDoubleOutputSwitch(); |
198 | int GetCurUsbAudioOuputModuleSwitch(); |
199 | int amAudioSetTvDoubleOutput(int en_val, unsigned int sr, int input_device, int output_device); |
200 | |
201 | void AudioCtlInitializeLoad(); |
202 | void AudioCtlInit(); |
203 | void AudioCtlUninit(); |
204 | void AudioSetVolumeDigitLUTBuf(int lut_sel_flag, int add_srs_gain_flag, int add_eq_gain_flag, int audio_std); |
205 | int openTvAudio(int sr); |
206 | |
207 | int AudioDataInitForDtv(); |
208 | int AudioDataInit(int sr, bool enableNoiseGate); |
209 | int AudioDataUnInit(); |
210 | int AudioChangeSampleRate(int sr); |
211 | int AudioSetAudioInSource(int audio_src_in_type); |
212 | int AudioSetAudioSourceType(int source_type); |
213 | int AudioSSMRestoreDefaultSetting(); |
214 | int AudioRegisterInterface(); |
215 | int AudioGetSessionId(); |
216 | int AudioNewAudioEffects(void); |
217 | void AudioFreeAudioEffects(void); |
218 | int SetAudioDumpDataFlag(int tmp_flag); |
219 | int GetAudioDumpDataFlag(); |
220 | int SetAudioLeftRightMode(unsigned int mode); |
221 | unsigned int GetAudioLeftRightMode(); |
222 | int AudioSetMicroPhoneSwitch(int switch_val); |
223 | void AudioSetNoiseGateThreshold(int thresh); |
224 | int AudioSetRecordDataZero(bool flag); |
225 | int SwitchAVOutBypass (int); |
226 | int SetAudioSwitchIO(int value); |
227 | int SetOutput_Swap(int value); |
228 | |
229 | private: |
230 | void RealHandleVolumeDigitLUTBuf(int lut_buf_type, int lut_sel_flag, |
231 | int vol_buf[], int add_srs_gain_flag, int add_eq_gain_flag); |
232 | int handleAudioSPDIFMute(int muteStatus); |
233 | int LoadCurAudioSPDIFMode(); |
234 | int LoadCurAudioMasterVolume(); |
235 | int LoadCurAudioBalance(); |
236 | int LoadCurAudioSupperBassVolume(); |
237 | int LoadCurAudioSupperBassSwitch(); |
238 | int LoadCurAudioSrsSurround(); |
239 | int LoadCurAudioSrsDialogClarity(); |
240 | void RealSetSRS(); |
241 | int LoadCurAudioSPDIFSwitch(); |
242 | void HanldeSupperBassSRSSpeakerSize(); |
243 | int LoadCurAudioSoundMode(); |
244 | int LoadCurAudioEQMode(); |
245 | int LoadCurAudioSrsTruBass(); |
246 | int SetDacGain(); |
247 | int RealSaveCurAudioBassVolume(int, int); |
248 | int LoadCurAudioBassVolume(); |
249 | int RealSaveCurAudioTrebleVolume(int, int); |
250 | int LoadCurAudioTrebleVolume(); |
251 | int HandleTrebleBassVolume(); |
252 | int LoadCurAudioWallEffect(); |
253 | int RealReadCurAudioEQGain(int *); |
254 | int RealSaveCurAudioEQGain(int *, int); |
255 | int LoadCurAudioEQGain(); |
256 | int MappingEQGain(int *, int *, int); |
257 | int RestoreToAudioDefEQGain(int *); |
258 | int CheckAudioEQGain(int *, int); |
259 | int GetCustomEQGain(int *); |
260 | int SetCustomEQGain(); |
261 | int AudioSetEQGain(int *); |
262 | int handleEQGainBeforeSet(int *, int *); |
263 | int RealSetEQGain(int *); |
264 | int SetSpecialModeEQGain(int); |
265 | int SetSpecialIndexEQGain(int, int); |
266 | int SaveSpecialIndexEQGain(int, int); |
267 | void LoadAudioCtl(); |
268 | void InitSetAudioCtl(); |
269 | int GetAudioFirstInitSetFlag(); |
270 | int HanldeAudioInputSr(unsigned int); |
271 | int waitServiceManager(); |
272 | void *AudioCtlInitSetMain(void *); |
273 | void AudioCtlInitializeSet(); |
274 | int GetEQMinGainVal(); |
275 | int GetEQMaxGainVal(); |
276 | int GetEQUIMinGainVal(); |
277 | int GetEQUIMaxGainVal(); |
278 | int GetBassUIMinGainVal(); |
279 | int GetBassUIMaxGainVal(); |
280 | int GetTrebleUIMinGainVal(); |
281 | int GetTrebleUIMaxGainVal(); |
282 | int MappingLine(int, int, int, int, int); |
283 | int MappingTrebleBassAndEqualizer(int, int, int, int); |
284 | void HandleSupperBassSwicth(); |
285 | int InitSetTvAudioCard(); |
286 | int UnInitSetTvAudioCard(); |
287 | int SetSPDIFMode(int mode_val); |
288 | |
289 | |
290 | CAudioAlsa mAudioAlsa; |
291 | CAudioEffect mAudioEffect; |
292 | int mAudioMuteStatusForSystem; |
293 | int mAudioMuteStatusForTv; |
294 | |
295 | int mCurAudioMasterVolume; |
296 | int mCurAudioBalance; |
297 | int mCurAudioSupperBassVolume; |
298 | int mCurAudioSupperBassSwitch; |
299 | int mCurAudioSRSSurround; |
300 | int mCurAudioSrsDialogClarity; |
301 | int mCurAudioSrsTruBass; |
302 | int mCurAudioSPDIFSwitch; |
303 | int mCurAudioSPDIFMode; |
304 | int mCurAudioBassVolume; |
305 | int mCurAudioTrebleVolume; |
306 | int mCurAudioSoundMode; |
307 | int mCurAudioWallEffect; |
308 | int mCurAudioEQMode; |
309 | int mCustomAudioMasterVolume; |
310 | int mCustomAudioBalance; |
311 | int mCustomAudioSupperBassVolume; |
312 | int mCustomAudioSupperBassSwitch; |
313 | int mCustomAudioSRSSurround; |
314 | int mCustomAudioSrsDialogClarity; |
315 | int mCustomAudioSrsTruBass; |
316 | int mCustomAudioBassVolume; |
317 | int mCustomAudioTrebleVolume; |
318 | int mCustomAudioSoundMode; |
319 | int mCustomAudioWallEffect; |
320 | int mCustomAudioEQMode; |
321 | int mCustomAudioSoundEnhancementSwitch; |
322 | volatile int mVolumeCompensationVal; |
323 | }; |
324 | #endif //__TV_AUDIO_API_H__ |
325 |