blob: fa8c9d62dca15491af22b291281a599401865130
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 <hardware/audio_effect_srs.h> |
9 | #include <hardware/audio_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 | { |
18 | public: |
19 | CAndroidEffect(); |
20 | ~CAndroidEffect(); |
21 | int amAndroidNewAudioEffects(void); |
22 | void amAndroidFreeAudioEffects(void); |
23 | int amAndroidGetAudioSessionId(void); |
24 | |
25 | //EQ |
26 | int amAndroidSetEQGain(const int gain_val_buf[], int band_count); |
27 | int amAndroidGetEQGain(int gain_val_buf[], int band_count); |
28 | int amAndroidSetEQEnable(int enabled); |
29 | int amAndroidGetEQEnabled(); |
30 | |
31 | //SRS |
32 | int amAndroidSetSRSSurroundSwitch(int switch_val); |
33 | int amAndroidSetSRSSurroundGain(int gain_val); |
34 | int amAndroidSetSRSTrubassSwitch(int switch_val); |
35 | int amAndroidSetSRSTrubassGain(int gain_val); |
36 | int amAndroidSetSRSDialogClaritySwitch(int switch_val); |
37 | int amAndroidSetSRSDialogClarityGain(int gain_val); |
38 | int amAndroidSetSRSDefinitionGain(int gain_val); |
39 | int amAndroidSetSRSTrubassSpeakerSize(int tmp_val); |
40 | |
41 | |
42 | private: |
43 | int gEqForcedGain[EQ_BAND_COUNT]; |
44 | int gEqUserSetGain[EQ_BAND_COUNT]; |
45 | void FreeAudioEffect(AudioEffect **pEffect); |
46 | void initAudioEffect(AudioEffect **pEffect, const effect_uuid_t *const pEffectType, const effect_uuid_t *const pEffectUuid, int sessionId); |
47 | int setSrsParameterInt(tshd_srs_param_t param, unsigned value); |
48 | int getSrsParameterInt(tshd_srs_param_t param, unsigned *value); |
49 | int setSrsParameterFloat(tshd_srs_param_t param, float value); |
50 | int getSrsParameterFloat(tshd_srs_param_t param, float *value); |
51 | int amAndroidSetSrsParameterInt(tshd_srs_param_t param, unsigned value); |
52 | int amAndroidGetSrsParameterInt(tshd_srs_param_t param, unsigned *value); |
53 | int amAndroidSetSrsParameterFloat(tshd_srs_param_t param, float value); |
54 | int amAndroidGetSrsParameterFloat(tshd_srs_param_t param, float *value); |
55 | int getEqGain(int gain_val_buf[], int band_count); |
56 | int setEqGain(const int gain_val_buf[], int band_count); |
57 | int amAndroidNewSRSAudioEffect(void); |
58 | int amAndroidNewEQAudioEffect(void); |
59 | int amAndroidForceEQGain(int band, int gain); |
60 | |
61 | AudioEffect *mplpAudioEffectSrs; |
62 | AudioEffect *mplpAudioEffectEq; |
63 | int mTrackerSessionId; |
64 | }; |
65 | |
66 | #endif //__TV_AUDIO_ANDROID_EFFECT_H__ |
67 |