blob: ca0abdd155147020056ddb90dd23f4dee2537c28
1 | #ifndef __TV_AUDIO_ANDROID_EFFECT_H__ |
2 | #define __TV_AUDIO_ANDROID_EFFECT_H__ |
3 | |
4 | |
5 | |
6 | #include <media/AudioEffect.h> |
7 | #include <hardware/audio_effect.h> |
8 | #include <audio_effects/effect_srs.h> |
9 | #include <audio_effects/effect_hpeq.h> |
10 | #include <audio_effects/effect_equalizer.h> |
11 | #include "tvsetting/audio_cfg.h" |
12 | |
13 | #define EQ_BAND_COUNT (5) |
14 | using namespace android; |
15 | |
16 | class CAndroidEffect { |
17 | public: |
18 | CAndroidEffect(); |
19 | ~CAndroidEffect(); |
20 | int amAndroidNewAudioEffects(void); |
21 | void amAndroidFreeAudioEffects(void); |
22 | int amAndroidGetAudioSessionId(void); |
23 | |
24 | //EQ |
25 | int amAndroidSetEQGain(const int gain_val_buf[], int band_count); |
26 | int amAndroidGetEQGain(int gain_val_buf[], int band_count); |
27 | int amAndroidSetEQEnable(int enabled); |
28 | int amAndroidGetEQEnabled(); |
29 | |
30 | //SRS |
31 | int amAndroidSetSRSSurroundSwitch(int switch_val); |
32 | int amAndroidSetSRSSurroundGain(int gain_val); |
33 | int amAndroidSetSRSTrubassSwitch(int switch_val); |
34 | int amAndroidSetSRSTrubassGain(int gain_val); |
35 | int amAndroidSetSRSDialogClaritySwitch(int switch_val); |
36 | int amAndroidSetSRSDialogClarityGain(int gain_val); |
37 | int amAndroidSetSRSDefinitionGain(int gain_val); |
38 | int amAndroidSetSRSTrubassSpeakerSize(int tmp_val); |
39 | |
40 | |
41 | private: |
42 | int gEqForcedGain[EQ_BAND_COUNT]; |
43 | int gEqUserSetGain[EQ_BAND_COUNT]; |
44 | void FreeAudioEffect(AudioEffect **pEffect); |
45 | void initAudioEffect(AudioEffect **pEffect, const effect_uuid_t *const pEffectType, const effect_uuid_t *const pEffectUuid, int sessionId); |
46 | int setSrsParameterInt(tshd_srs_param_t param, unsigned value); |
47 | int getSrsParameterInt(tshd_srs_param_t param, unsigned *value); |
48 | int setSrsParameterFloat(tshd_srs_param_t param, float value); |
49 | int getSrsParameterFloat(tshd_srs_param_t param, float *value); |
50 | int amAndroidSetSrsParameterInt(tshd_srs_param_t param, unsigned value); |
51 | int amAndroidGetSrsParameterInt(tshd_srs_param_t param, unsigned *value); |
52 | int amAndroidSetSrsParameterFloat(tshd_srs_param_t param, float value); |
53 | int amAndroidGetSrsParameterFloat(tshd_srs_param_t param, float *value); |
54 | int getEqGain(int gain_val_buf[], int band_count); |
55 | int setEqGain(const int gain_val_buf[], int band_count); |
56 | int amAndroidNewSRSAudioEffect(void); |
57 | int amAndroidNewEQAudioEffect(void); |
58 | int amAndroidForceEQGain(int band, int gain); |
59 | |
60 | AudioEffect *mplpAudioEffectSrs; |
61 | AudioEffect *mplpAudioEffectEq; |
62 | int mTrackerSessionId; |
63 | }; |
64 | |
65 | #endif //__TV_AUDIO_ANDROID_EFFECT_H__ |
66 |