blob: d4e0a5880669378186e3a9f8d60f2c33672cd78b [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001#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
8enum 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
16enum t_output_path {
17 T_OUTPUT_RECEIVER = 0,
18 T_OUTPUT_SPEAKER = 1,
19 T_OUTPUT_HEADSET = 2,
20};
21
22enum t_input_path {
23 T_INPUT_MICLP = 0,
24 T_INPUT_MICRP = 1,
25};
26
27enum 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
48enum 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
65enum 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
74int mix_set_output_path(struct mixer *mixer, int path);
75int mix_set_input_path(struct mixer *mixer, int path);
76int mix_set_input_vol(struct mixer *mixer, int volume);
77int mix_set_output_vol(struct mixer *mixer, int volume);
78int mix_set_output_mute(struct mixer *mixer, bool enable);
79int mix_set_input_mute(struct mixer *mixer, bool enable);
80int mix_set_outputpath_onoff(struct mixer *mixer, int path ,bool onoff);
81int mix_set_voice_vol(struct mixer *mixer, int volume);
82int mix_set_voice_mute(struct mixer *mixer, bool enable);
83int mix_set_voice_path(struct mixer *mixer, int path);
84int mix_set_in_call_tone(struct mixer *mixer, int tontype);
85int mix_set_default_param(struct mixer *mixer);
86
87#endif