[Feature][ZXW-129] Add qser settings and access to call volume interface
Only Configure:No
Affected branch:master
Affected module:Call
Is it affected on both ZXIC and MTK: only ZXIC
Self-test: Yes
Doc Update:Yes
Change-Id: Iadd98bcff45a75dcfb6967eec8b7c9f8cf08fbfe
diff --git a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-voice-demo/files/lynq-qser-voice-demo.cpp b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-voice-demo/files/lynq-qser-voice-demo.cpp
index 5f421c9..81185d9 100755
--- a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-voice-demo/files/lynq-qser-voice-demo.cpp
+++ b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-voice-demo/files/lynq-qser-voice-demo.cpp
@@ -22,6 +22,8 @@
{1, "qser_voice_call_start"},
{2, "qser_voice_call_end"},
{3, "qser_voice_call_answer"},
+ {4, "qser_voice_set_speech_volume"},
+ {5, "qser_voice_get_speech_volume"},
{-1, NULL}
};
@@ -44,6 +46,8 @@
int (*qser_voice_call_end)(voice_client_handle_type ,int );
int (*qser_voice_call_answer)(voice_client_handle_type ,int );
+int (*qser_voice_set_speech_volume)(const int volume);
+int (*qser_voice_get_speech_volume)(int *volume);
void *dlHandle_call = NULL;
@@ -133,27 +137,40 @@
}
qser_voice_call_removestatehandle = (int (*)(voice_client_handle_type))dlsym(dlHandle_call,"qser_voice_call_removestatehandle");
- if(qser_voice_call_removestatehandle == NULL)
+ if(qser_voice_call_removestatehandle == NULL)
{
printf("qser_voice_call_removestatehandle not defined or exported in %s\n", lynqLibPath_Call);
return -1;
}
- ret = qser_voice_call_client_init(&h_voice);
- if(ret != 0 && ret != 1)
+ qser_voice_set_speech_volume = (int (*)(const int ))dlsym(dlHandle_call,"qser_voice_set_speech_volume");
+ if(qser_voice_set_speech_volume == NULL)
{
- printf("qser_voice_call_client_init FAIL.%d\n");
+ printf("qser_voice_set_speech_volume not defined or exported in %s\n", lynqLibPath_Call);
+ return -1;
+ }
+
+ qser_voice_get_speech_volume = (int (*)(int* ))dlsym(dlHandle_call,"qser_voice_get_speech_volume");
+ if(qser_voice_get_speech_volume == NULL)
+ {
+ printf("qser_voice_get_speech_volume not defined or exported in %s\n", lynqLibPath_Call);
+ return -1;
+ }
+
+ ret = qser_voice_call_client_init(&h_voice);
+ if(ret != 0 )
+ {
+ printf("qser_voice_call_client_init FAIL\n");
return -1;
}
ret = qser_voice_call_addstatehandler(h_voice, yk_voice_call_cb_func, &voice_call_id);
- if(ret != 0 && ret != 1)
+ if(ret != 0)
{
- printf("qser_voice_call_addstatehandler FAIL.%d\n");
+ printf("qser_voice_call_addstatehandler FAIL\n");
return -1;
}
- printf("qser_voice_call_addstatehandler ret = %d\n", ret);
print_help();
while(1)
@@ -206,6 +223,27 @@
printf(" ret = %d\n", ret);
break;
}
+
+ case 4:
+ {
+ int volume = 0;
+ printf("Please set speech volume:0-5 level\n");
+ scanf("%d",&volume);
+ ret = qser_voice_set_speech_volume(volume);
+ printf("ret is %d\n",ret);
+ break;
+
+ }
+
+ case 5:
+ {
+ int volume = -1;
+ printf("Enter get speech volume\n");
+ ret = qser_voice_get_speech_volume(&volume);
+ printf("ret is %d,get volume is %d\n",ret,volume);
+ break;
+
+ }
default:
print_help();
break;
@@ -216,7 +254,7 @@
ret = qser_voice_call_removestatehandle(h_voice);
if(ret != 0 && ret != 1)
{
- printf("qser_voice_call_removestatehandle FAIL.%d\n");
+ printf("qser_voice_call_removestatehandle FAIL!!!\n");
return -1;
}
printf("qser_voice_call_removestatehandle ret = %d\n", ret);
@@ -225,7 +263,7 @@
ret = qser_voice_call_client_deinit(h_voice);
if(ret != 0)
{
- printf("qser_voice_call_client_deinit FAIL.%d\n",ret);
+ printf("qser_voice_call_client_deinit FAIL\n");
return -1;
}
printf("qser_voice_call_client_deinit ret = %d, with h_voice=%d\n", ret, h_voice);
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-qser-voice/include/lynq-qser-voice.h b/cap/zx297520v3/src/lynq/lib/liblynq-qser-voice/include/lynq-qser-voice.h
index 13622db..8666362 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-qser-voice/include/lynq-qser-voice.h
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-qser-voice/include/lynq-qser-voice.h
@@ -88,6 +88,12 @@
int qser_voice_call_switch_waiting_or_holding_and_active(voice_client_handle_type h_voice);
+//set voice speech volume
+int qser_voice_set_speech_volume(const int volume);
+
+//Get voice speech volume
+int qser_voice_get_speech_volume(int *volume);
+
//Set voice call waiting
int qser_voice_call_setwaiting
(
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-qser-voice/lynq-qser-voice.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-qser-voice/lynq-qser-voice.cpp
index b7c3d7a..fa210e6 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-qser-voice/lynq-qser-voice.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-qser-voice/lynq-qser-voice.cpp
@@ -16,6 +16,10 @@
#define RESULT_OK (0)
#define RESULT_ERROR (-1)
+#define MIN_VOLUME 0
+#define MAX_VOLUME 5
+
+
static pthread_t s_lynq_voice_tid = -1;
static QSER_VoiceCall_StateHandlerFunc_t s_voice_cb = NULL;
static int s_voice_thread_status = 0;
@@ -210,5 +214,21 @@
return lynq_switch_waiting_or_holding_and_active();
}
+int qser_voice_set_speech_volume(const int volume)
+{
+ if(volume < MIN_VOLUME || volume > MAX_VOLUME)
+ {
+ LYERRLOG("Illeage input volume");
+ return RESULT_ERROR;
+ }
+ return lynq_set_speech_volume(volume);
+}
+
+
+int qser_voice_get_speech_volume(int *volume)
+{
+ return lynq_get_speech_volume(volume);
+}
+
DEFINE_LYNQ_LIB_LOG(LYNQ_QSER_CALL)