Ticket #51: Added audio level adjustment to PJSUA-API

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@864 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c
index 24868a9..4239517 100644
--- a/pjsip-apps/src/pjsua/pjsua_app.c
+++ b/pjsip-apps/src/pjsua/pjsua_app.c
@@ -76,6 +76,9 @@
     pjmedia_snd_port	   *snd;
 #endif
 
+    float		    mic_level,
+			    speaker_level;
+
 } app_config;
 
 
@@ -209,6 +212,7 @@
     cfg->rec_id = PJSUA_INVALID_ID;
     cfg->wav_port = PJSUA_INVALID_ID;
     cfg->rec_port = PJSUA_INVALID_ID;
+    cfg->mic_level = cfg->speaker_level = 1.0;
 }
 
 
@@ -848,7 +852,7 @@
 	default:
 	    PJ_LOG(1,(THIS_FILE, 
 		      "Argument \"%s\" is not valid. Use --help to see help",
-		      argv[pj_optind-1]));
+		      argv[pj_optind]));
 	    return -1;
 	}
     }
@@ -1837,7 +1841,7 @@
     puts("|  #  Send DTMF string         | cl  List ports           |  d  Dump status   |");
     puts("| dq  Dump curr. call quality  | cc  Connect port         | dd  Dump detailed |");
     puts("|                              | cd  Disconnect port      | dc  Dump config   |");
-    puts("|  S  Send arbitrary REQUEST   |                          |  f  Save config   |");
+    puts("|  S  Send arbitrary REQUEST   |  V  Adjust audio Volume  |  f  Save config   |");
     puts("+------------------------------+--------------------------+-------------------+");
     puts("|  q  QUIT                                                                    |");
     puts("+=============================================================================+");
@@ -2713,6 +2717,24 @@
 	    }
 	    break;
 
+	case 'V':
+	    /* Adjust audio volume */
+	    sprintf(buf, "Adjust mic level: [%4.1fx] ", app_config.mic_level);
+	    if (simple_input(buf,text,sizeof(text))) {
+		char *err;
+		app_config.mic_level = (float)strtod(text, &err);
+		pjsua_conf_adjust_rx_level(0, app_config.mic_level);
+	    }
+	    sprintf(buf, "Adjust speaker level: [%4.1fx] ", 
+		    app_config.speaker_level);
+	    if (simple_input(buf,text,sizeof(text))) {
+		char *err;
+		app_config.speaker_level = (float)strtod(text, &err);
+		pjsua_conf_adjust_tx_level(0, app_config.speaker_level);
+	    }
+
+	    break;
+
 	case 'd':
 	    if (menuin[1] == 'c') {
 		char settings[2000];