yuezonghe | 824eb0c | 2024-06-27 02:32:26 -0700 | [diff] [blame] | 1 | #ifndef _AUDIO_MIXER_CTRL_H |
| 2 | #define _AUDIO_MIXER_CTRL_H |
| 3 | #include <stdint.h> |
| 4 | #include <stdbool.h> |
| 5 | #include <tinyalsa/asoundlib.h> |
| 6 | #include <sound/asound.h> |
| 7 | |
| 8 | enum t_tone_class { |
| 9 | T_LOWPOWER_TONE = 0, |
| 10 | T_SMS_TONE = 1, |
| 11 | T_CALLSTD_TONE = 2, |
| 12 | T_ALARM_TONE = 3, |
| 13 | T_CALL_TIME_TONE = 4, |
| 14 | }; |
| 15 | |
| 16 | enum t_output_path { |
| 17 | T_OUTPUT_RECEIVER = 0, |
| 18 | T_OUTPUT_SPEAKER = 1, |
| 19 | T_OUTPUT_HEADSET = 2, |
| 20 | }; |
| 21 | |
| 22 | enum t_input_path { |
| 23 | T_INPUT_MICLP = 0, |
| 24 | T_INPUT_MICRP = 1, |
| 25 | }; |
| 26 | |
| 27 | enum t_audio_out_vol { |
| 28 | T_AUDIO_OUTPUT_VOL_LEVEL_0 = 0, |
| 29 | T_AUDIO_OUTPUT_VOL_LEVEL_1, |
| 30 | T_AUDIO_OUTPUT_VOL_LEVEL_2, |
| 31 | T_AUDIO_OUTPUT_VOL_LEVEL_3, |
| 32 | T_AUDIO_OUTPUT_VOL_LEVEL_4, |
| 33 | T_AUDIO_OUTPUT_VOL_LEVEL_5, |
| 34 | T_AUDIO_OUTPUT_VOL_LEVEL_6, |
| 35 | T_AUDIO_OUTPUT_VOL_LEVEL_7, |
| 36 | T_AUDIO_OUTPUT_VOL_LEVEL_8, |
| 37 | T_AUDIO_OUTPUT_VOL_LEVEL_9, |
| 38 | T_AUDIO_OUTPUT_VOL_LEVEL_10, |
| 39 | T_AUDIO_OUTPUT_VOL_LEVEL_11, |
| 40 | T_AUDIO_OUTPUT_VOL_LEVEL_12, |
| 41 | T_AUDIO_OUTPUT_VOL_LEVEL_13, |
| 42 | T_AUDIO_OUTPUT_VOL_LEVEL_14, |
| 43 | T_AUDIO_OUTPUT_VOL_LEVEL_15, |
| 44 | T_AUDIO_OUTPUT_VOL_LEVEL_16, |
| 45 | T_MAX_AUDIO_OUTPUT_VOL_LEVEL |
| 46 | }; |
| 47 | |
| 48 | enum t_audio_in_vol { |
| 49 | T_AUDIO_INPUT_VOL_LEVEL_0 = 0, |
| 50 | T_AUDIO_INPUT_VOL_LEVEL_1, |
| 51 | T_AUDIO_INPUT_VOL_LEVEL_2, |
| 52 | T_AUDIO_INPUT_VOL_LEVEL_3, |
| 53 | T_AUDIO_INPUT_VOL_LEVEL_4, |
| 54 | T_AUDIO_INPUT_VOL_LEVEL_5, |
| 55 | T_AUDIO_INPUT_VOL_LEVEL_6, |
| 56 | T_AUDIO_INPUT_VOL_LEVEL_7, |
| 57 | T_AUDIO_INPUT_VOL_LEVEL_8, |
| 58 | T_AUDIO_INPUT_VOL_LEVEL_9, |
| 59 | T_AUDIO_INPUT_VOL_LEVEL_10, |
| 60 | T_AUDIO_INPUT_VOL_LEVEL_11, |
| 61 | |
| 62 | T_MAX_AUDIO_INPUT_VOL_LEVEL |
| 63 | } ; |
| 64 | |
| 65 | enum t_voice_vol { // volume level for voice |
| 66 | T_VOICE_VOL_0_LEVEL = 0, |
| 67 | T_VOICE_VOL_1_LEVEL = 1, |
| 68 | T_VOICE_VOL_2_LEVEL = 2, |
| 69 | T_VOICE_VOL_3_LEVEL = 3, |
| 70 | T_VOICE_VOL_4_LEVEL = 4, |
| 71 | T_VOICE_VOL_5_LEVEL = 5, |
| 72 | }; |
| 73 | |
| 74 | int mix_set_output_path(struct mixer *mixer, int path); |
| 75 | int mix_set_input_path(struct mixer *mixer, int path); |
| 76 | int mix_set_input_vol(struct mixer *mixer, int volume); |
| 77 | int mix_set_output_vol(struct mixer *mixer, int volume); |
| 78 | int mix_set_output_mute(struct mixer *mixer, bool enable); |
| 79 | int mix_set_input_mute(struct mixer *mixer, bool enable); |
| 80 | int mix_set_outputpath_onoff(struct mixer *mixer, int path ,bool onoff); |
| 81 | int mix_set_voice_vol(struct mixer *mixer, int volume); |
| 82 | int mix_set_voice_mute(struct mixer *mixer, bool enable); |
| 83 | int mix_set_voice_path(struct mixer *mixer, int path); |
| 84 | int mix_set_in_call_tone(struct mixer *mixer, int tontype); |
| 85 | int mix_set_default_param(struct mixer *mixer); |
| 86 | |
| 87 | #endif |