[Feature][ZXW-285]merge P56U05 version
Only Configure: No
Affected branch: master
Affected module: unknow
Is it affected on both ZXIC and MTK: only ZXIC
Self-test: Yes
Doc Update: No
Change-Id: Ied657102425a179a89ef41847170152e8a5d437c
diff --git a/ap/lib/libvoice/voice_api.c b/ap/lib/libvoice/voice_api.c
index 3494e74..e9f5145 100755
--- a/ap/lib/libvoice/voice_api.c
+++ b/ap/lib/libvoice/voice_api.c
@@ -44,8 +44,10 @@
extern int mix_get_voice_path(struct mixer *mixer, int *path);
extern int mix_set_vploop(struct mixer *mixer, int path);
extern int mix_get_vploop(struct mixer *mixer, int *state);
-
-
+extern int mix_set_voice_vol_gain(struct mixer *mixer, int vol_gain);
+extern int mix_get_voice_vol_gain(struct mixer *mixer, int *vol_gain);
+extern int mix_set_tx_voice_vol_gain(struct mixer *mixer, int vol_gain);
+extern int mix_get_tx_voice_vol_gain(struct mixer *mixer, int *vol_gain);
#define VOCIE_SND_CARD_NUM 0
@@ -224,7 +226,139 @@
}
+int sc_audio_set_rx_voice_vol_gain(int gain)
+{
+ struct mixer *voice_mixer = NULL;
+ printf("%s: start vol=%d!\n",__func__, gain);
+ if ((gain < -15 ) ||(gain > 24)){
+ printf("%s: gain not support, gain=%d!\n",__func__, gain);
+ return -1;
+ }
+
+ //open mixer dev for control
+ voice_mixer = mixer_open(VOCIE_SND_CARD_NUM);
+ if (!voice_mixer) {
+ printf("voice_mixer open failed!\n");
+ return -1;
+ }
+
+ //config mixer dev
+ mix_set_voice_vol_gain(voice_mixer, gain);
+
+ //close mixer
+ mixer_close(voice_mixer);
+ voice_mixer = NULL;
+
+
+ return 0;
+
+
+
+
+}
+
+int sc_audio_get_rx_voice_vol_gain(int * p_gain)
+{
+ int ret = 0;
+ struct mixer *voice_mixer = NULL;
+
+ printf("%s: start!\n",__func__);
+
+ //open mixer dev for control
+ voice_mixer = mixer_open(VOCIE_SND_CARD_NUM);
+ if (!voice_mixer) {
+ printf("voice_mixer open failed!\n");
+ return -1;
+ }
+
+ //config mixer dev
+ mix_get_voice_vol_gain(voice_mixer, p_gain);
+
+
+ if ((*p_gain < -15 ) ||(*p_gain > 24)){
+ printf("%s: gain not support, *p_gain=%d!\n",__func__, *p_gain);
+ ret = -1;
+ }
+ printf("%s: *p_gain=%d!\n",__func__, *p_gain);
+
+ //close mixer
+ mixer_close(voice_mixer);
+ voice_mixer = NULL;
+
+
+ return ret;
+
+
+
+}
+
+int sc_audio_set_tx_voice_vol_gain(int gain)
+{
+ struct mixer *voice_mixer = NULL;
+ printf("%s: start vol=%d!\n",__func__, gain);
+
+ if ((gain < -15 ) ||(gain > 24)){
+ printf("%s: gain not support, gain=%d!\n",__func__, gain);
+ return -1;
+ }
+
+ //open mixer dev for control
+ voice_mixer = mixer_open(VOCIE_SND_CARD_NUM);
+ if (!voice_mixer) {
+ printf("voice_mixer open failed!\n");
+ return -1;
+ }
+
+ //config mixer dev
+ mix_set_tx_voice_vol_gain(voice_mixer, gain);
+
+ //close mixer
+ mixer_close(voice_mixer);
+ voice_mixer = NULL;
+
+
+ return 0;
+
+
+
+
+}
+
+int sc_audio_get_tx_voice_vol_gain(int * p_gain)
+{
+ int ret = 0;
+ struct mixer *voice_mixer = NULL;
+
+ printf("%s: start!\n",__func__);
+
+ //open mixer dev for control
+ voice_mixer = mixer_open(VOCIE_SND_CARD_NUM);
+ if (!voice_mixer) {
+ printf("voice_mixer open failed!\n");
+ return -1;
+ }
+
+ //config mixer dev
+ mix_get_tx_voice_vol_gain(voice_mixer, p_gain);
+
+
+ if ((*p_gain < -15 ) ||(*p_gain > 24)){
+ printf("%s: gain not support, *p_gain=%d!\n",__func__, *p_gain);
+ ret = -1;
+ }
+ printf("%s: *p_gain=%d!\n",__func__, *p_gain);
+
+ //close mixer
+ mixer_close(voice_mixer);
+ voice_mixer = NULL;
+
+
+ return ret;
+
+
+
+}
int sc_audio_set_tx_voice_vol(int vol)
{