diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2008-06-13 17:01:46 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2008-06-13 17:01:46 +0000 |
commit | e3399b0820e6010b0a2d423261d54111af63e528 (patch) | |
tree | 06cb5c02a9de8441b964f66b8c46da72f936a7b6 /pjsip-apps/src | |
parent | b7242dd477e952452a5c01b8ab49ae7e41463683 (diff) |
Ticket #540: Added pjsua-lib feature auto-close sound device on idle and new pjsua option --snd-auto-close=N
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2018 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps/src')
-rw-r--r-- | pjsip-apps/src/pjsua/pjsua_app.c | 24 | ||||
-rw-r--r-- | pjsip-apps/src/symbian_ua/ua.cpp | 1 | ||||
-rw-r--r-- | pjsip-apps/src/symbian_ua_gui/src/symbian_ua.cpp | 1 |
3 files changed, 21 insertions, 5 deletions
diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c index d80e16c0..17508bc9 100644 --- a/pjsip-apps/src/pjsua/pjsua_app.c +++ b/pjsip-apps/src/pjsua/pjsua_app.c @@ -201,6 +201,9 @@ static void usage(void) puts (" --playback-dev=id Audio playback device ID (default=-1)"); puts (" --capture-lat=N Audio capture latency, in ms (default=10)"); puts (" --playback-lat=N Audio playback latency, in ms (default=100)"); + puts (" --snd-auto-close=N Auto close audio device when it is idle for N seconds."); + puts (" Specify N=-1 (default) to disable this feature."); + puts (" Specify N=0 for instant close when unused."); puts (""); puts ("Media Transport Options:"); @@ -400,7 +403,7 @@ static pj_status_t parse_args(int argc, char *argv[], int c; int option_index; enum { OPT_CONFIG_FILE=127, OPT_LOG_FILE, OPT_LOG_LEVEL, OPT_APP_LOG_LEVEL, - OPT_HELP, OPT_VERSION, OPT_NULL_AUDIO, + OPT_HELP, OPT_VERSION, OPT_NULL_AUDIO, OPT_SND_AUTO_CLOSE, OPT_LOCAL_PORT, OPT_IP_ADDR, OPT_PROXY, OPT_OUTBOUND_PROXY, OPT_REGISTRAR, OPT_REG_TIMEOUT, OPT_PUBLISH, OPT_ID, OPT_CONTACT, OPT_100REL, OPT_USE_IMS, OPT_REALM, OPT_USERNAME, OPT_PASSWORD, @@ -514,6 +517,7 @@ static pj_status_t parse_args(int argc, char *argv[], { "playback-lat", 1, 0, OPT_PLAYBACK_LAT}, { "stdout-refresh", 1, 0, OPT_STDOUT_REFRESH}, { "stdout-refresh-text", 1, 0, OPT_STDOUT_REFRESH_TEXT}, + { "snd-auto-close", 1, 0, OPT_SND_AUTO_CLOSE}, { NULL, 0, 0, 0} }; pj_status_t status; @@ -1108,6 +1112,10 @@ static pj_status_t parse_args(int argc, char *argv[], cfg->playback_lat = atoi(pj_optarg); break; + case OPT_SND_AUTO_CLOSE: + cfg->media_cfg.snd_auto_close_time = atoi(pj_optarg); + break; + default: PJ_LOG(1,(THIS_FILE, "Argument \"%s\" is not valid. Use --help to see help", @@ -1504,6 +1512,11 @@ static int write_settings(const struct app_config *config, pj_ansi_sprintf(line, "--playback-dev %d\n", config->playback_dev); pj_strcat2(&cfg, line); } + if (config->media_cfg.snd_auto_close_time != -1) { + pj_ansi_sprintf(line, "--snd-auto-close %d\n", + config->media_cfg.snd_auto_close_time); + pj_strcat2(&cfg, line); + } /* Sound device latency */ if (config->capture_lat != PJMEDIA_SND_DEFAULT_REC_LATENCY) { @@ -3786,10 +3799,11 @@ pj_status_t app_init(int argc, char *argv[]) } #endif - if (app_config.capture_dev != PJSUA_INVALID_ID - || app_config.playback_dev != PJSUA_INVALID_ID) { - status - = pjsua_set_snd_dev(app_config.capture_dev, app_config.playback_dev); + if (app_config.capture_dev != PJSUA_INVALID_ID || + app_config.playback_dev != PJSUA_INVALID_ID) + { + status = pjsua_set_snd_dev(app_config.capture_dev, + app_config.playback_dev); if (status != PJ_SUCCESS) goto on_error; } diff --git a/pjsip-apps/src/symbian_ua/ua.cpp b/pjsip-apps/src/symbian_ua/ua.cpp index 34935a18..5396bc72 100644 --- a/pjsip-apps/src/symbian_ua/ua.cpp +++ b/pjsip-apps/src/symbian_ua/ua.cpp @@ -334,6 +334,7 @@ static pj_status_t app_startup() med_cfg.audio_frame_ptime = 40; med_cfg.ec_tail_len = 0; med_cfg.enable_ice = USE_ICE; + med_cfg.snd_auto_close_time = 5; // wait for 5 seconds idle before sound dev get auto-closed status = pjsua_init(&cfg, &log_cfg, &med_cfg); if (status != PJ_SUCCESS) { diff --git a/pjsip-apps/src/symbian_ua_gui/src/symbian_ua.cpp b/pjsip-apps/src/symbian_ua_gui/src/symbian_ua.cpp index bd9864b1..7d693b41 100644 --- a/pjsip-apps/src/symbian_ua_gui/src/symbian_ua.cpp +++ b/pjsip-apps/src/symbian_ua_gui/src/symbian_ua.cpp @@ -326,6 +326,7 @@ int symbian_ua_init() med_cfg.audio_frame_ptime = 40;
med_cfg.ec_tail_len = 0;
med_cfg.enable_ice = USE_ICE;
+ med_cfg.snd_auto_close_time = 5; // wait for 5 seconds idle before sound dev get auto-closed
pjsua_logging_config log_cfg;
|