Added mute, hold and typing detect to voe_cmd_test to increase functionality in the voe_cmd_test application.
Typing Detect is applicable only for Mac. Review URL: http://webrtc-codereview.appspot.com/156002 git-svn-id: http://webrtc.googlecode.com/svn/trunk@632 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
a1930427af
commit
3be70ca17e
@ -91,6 +91,34 @@ my_transportation my_transport;
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
class MyObserver : public VoiceEngineObserver {
|
||||||
|
public:
|
||||||
|
virtual void CallbackOnError(const int channel, const int err_code);
|
||||||
|
};
|
||||||
|
|
||||||
|
void MyObserver::CallbackOnError(const int channel, const int err_code) {
|
||||||
|
// Add printf for other error codes here
|
||||||
|
if (err_code == VE_TYPING_NOISE_WARNING) {
|
||||||
|
printf(" TYPING NOISE DETECTED \n");
|
||||||
|
} else if (err_code == VE_RECEIVE_PACKET_TIMEOUT) {
|
||||||
|
printf(" RECEIVE PACKET TIMEOUT \n");
|
||||||
|
} else if (err_code == VE_PACKET_RECEIPT_RESTARTED) {
|
||||||
|
printf(" PACKET RECEIPT RESTARTED \n");
|
||||||
|
} else if (err_code == VE_RUNTIME_PLAY_WARNING) {
|
||||||
|
printf(" RUNTIME PLAY WARNING \n");
|
||||||
|
} else if (err_code == VE_RUNTIME_REC_WARNING) {
|
||||||
|
printf(" RUNTIME RECORD WARNING \n");
|
||||||
|
} else if (err_code == VE_SATURATION_WARNING) {
|
||||||
|
printf(" SATURATION WARNING \n");
|
||||||
|
} else if (err_code == VE_RUNTIME_PLAY_ERROR) {
|
||||||
|
printf(" RUNTIME PLAY ERROR \n");
|
||||||
|
} else if (err_code == VE_RUNTIME_REC_ERROR) {
|
||||||
|
printf(" RUNTIME RECORD ERROR \n");
|
||||||
|
} else if (err_code == VE_REC_DEVICE_REMOVED) {
|
||||||
|
printf(" RECORD DEVICE REMOVED \n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
int res = 0;
|
int res = 0;
|
||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
@ -112,11 +140,16 @@ int main() {
|
|||||||
xmedia = VoEExternalMedia::GetInterface(m_voe);
|
xmedia = VoEExternalMedia::GetInterface(m_voe);
|
||||||
neteqst = VoENetEqStats::GetInterface(m_voe);
|
neteqst = VoENetEqStats::GetInterface(m_voe);
|
||||||
|
|
||||||
|
MyObserver my_observer;
|
||||||
|
|
||||||
printf("Set trace filenames (enable trace)\n");
|
printf("Set trace filenames (enable trace)\n");
|
||||||
VoiceEngine::SetTraceFilter(kTraceAll);
|
VoiceEngine::SetTraceFilter(kTraceAll);
|
||||||
res = VoiceEngine::SetTraceFile("webrtc_trace.txt");
|
res = VoiceEngine::SetTraceFile("webrtc_trace.txt");
|
||||||
VALIDATE;
|
VALIDATE;
|
||||||
|
|
||||||
|
res = VoiceEngine::SetTraceCallback(NULL);
|
||||||
|
VALIDATE;
|
||||||
|
|
||||||
printf("Init\n");
|
printf("Init\n");
|
||||||
res = base1->Init();
|
res = base1->Init();
|
||||||
if (res != 0) {
|
if (res != 0) {
|
||||||
@ -125,6 +158,9 @@ int main() {
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
res = base1->RegisterVoiceEngineObserver(my_observer);
|
||||||
|
VALIDATE;
|
||||||
|
|
||||||
cnt++;
|
cnt++;
|
||||||
printf("Version\n");
|
printf("Version\n");
|
||||||
char tmp[1024];
|
char tmp[1024];
|
||||||
@ -137,6 +173,8 @@ int main() {
|
|||||||
|
|
||||||
printf("Terminate \n");
|
printf("Terminate \n");
|
||||||
|
|
||||||
|
base1->DeRegisterVoiceEngineObserver();
|
||||||
|
|
||||||
res = base1->Terminate();
|
res = base1->Terminate();
|
||||||
VALIDATE;
|
VALIDATE;
|
||||||
|
|
||||||
@ -196,6 +234,9 @@ void run_test() {
|
|||||||
bool VAD = false;
|
bool VAD = false;
|
||||||
bool NS = false;
|
bool NS = false;
|
||||||
bool NS1 = false;
|
bool NS1 = false;
|
||||||
|
bool typing_detection = false;
|
||||||
|
bool muted = false;
|
||||||
|
bool on_hold = false;
|
||||||
|
|
||||||
chan = base1->CreateChannel();
|
chan = base1->CreateChannel();
|
||||||
if (chan < 0) {
|
if (chan < 0) {
|
||||||
@ -434,6 +475,16 @@ void run_test() {
|
|||||||
i++;
|
i++;
|
||||||
printf("\t%i. AGC status \n", i);
|
printf("\t%i. AGC status \n", i);
|
||||||
i++;
|
i++;
|
||||||
|
printf("\t%i. Toggle microphone mute \n", i);
|
||||||
|
i++;
|
||||||
|
printf("\t%i. Toggle on hold status \n", i);
|
||||||
|
i++;
|
||||||
|
printf("\t%i. Get last error code \n", i);
|
||||||
|
i++;
|
||||||
|
printf("\t%i. Toggle typing detection(for Mac/Windows only) \n", i);
|
||||||
|
i++;
|
||||||
|
|
||||||
|
|
||||||
printf("\t%i. Stop call \n", i);
|
printf("\t%i. Stop call \n", i);
|
||||||
|
|
||||||
printf("Select action or %i to stop the call: ", i);
|
printf("Select action or %i to stop the call: ", i);
|
||||||
@ -598,7 +649,51 @@ void run_test() {
|
|||||||
bool enable;
|
bool enable;
|
||||||
res = apm->GetAgcStatus(enable, agcmode);
|
res = apm->GetAgcStatus(enable, agcmode);
|
||||||
VALIDATE
|
VALIDATE
|
||||||
printf("\n AGC enale is %d , mode is %d \n", enable, agcmode);
|
printf("\n AGC enable is %d , mode is %d \n", enable, agcmode);
|
||||||
|
}
|
||||||
|
else if (codecinput == (noCodecs + 17)) {
|
||||||
|
// Toggle Mute on Microphone
|
||||||
|
res = volume->GetInputMute(chan, muted);
|
||||||
|
VALIDATE;
|
||||||
|
muted = !muted;
|
||||||
|
res = volume->SetInputMute(chan, muted);
|
||||||
|
VALIDATE;
|
||||||
|
if (muted)
|
||||||
|
printf("\n Microphone is now on mute! \n");
|
||||||
|
else
|
||||||
|
printf("\n Microphone is no longer on mute! \n");
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (codecinput == (noCodecs + 18)) {
|
||||||
|
// Toggle the call on hold
|
||||||
|
OnHoldModes mode;
|
||||||
|
res = base1->GetOnHoldStatus(chan, on_hold, mode);
|
||||||
|
VALIDATE;
|
||||||
|
on_hold = !on_hold;
|
||||||
|
mode = kHoldSendAndPlay;
|
||||||
|
res = base1->SetOnHoldStatus(chan, on_hold, mode);
|
||||||
|
VALIDATE;
|
||||||
|
if (on_hold)
|
||||||
|
printf("\n Call now on hold! \n");
|
||||||
|
else
|
||||||
|
printf("\n Call now not on hold! \n");
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (codecinput == (noCodecs + 19)) {
|
||||||
|
// Get the last error code and print to screen
|
||||||
|
int err_code = 0;
|
||||||
|
err_code = base1->LastError();
|
||||||
|
if (err_code != -1)
|
||||||
|
printf("\n The last error code was %i. \n", err_code);
|
||||||
|
}
|
||||||
|
else if (codecinput == (noCodecs + 20)) {
|
||||||
|
typing_detection= !typing_detection;
|
||||||
|
res = apm->SetTypingDetectionStatus(typing_detection);
|
||||||
|
VALIDATE;
|
||||||
|
if (typing_detection)
|
||||||
|
printf("\n Typing detection is now on! \n");
|
||||||
|
else
|
||||||
|
printf("\n Typing detection is now off! \n");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user