diff options
author | Benny Prijono <bennylp@teluu.com> | 2008-02-26 15:32:16 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2008-02-26 15:32:16 +0000 |
commit | 7562816f91e37a3a6807308ba538aa8e9631b6e4 (patch) | |
tree | 8762ca69133f4a34ee884d19f1647216437db618 /pjsip-apps | |
parent | 4a8234bbb10ae3309f0c3fe2f0dcccf86060fe99 (diff) |
Ticket #495: ability to specify different clock rate when opening sound device
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1823 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps')
-rw-r--r-- | pjsip-apps/src/pjsua/pjsua_app.c | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c index 39560f11..880f98d8 100644 --- a/pjsip-apps/src/pjsua/pjsua_app.c +++ b/pjsip-apps/src/pjsua/pjsua_app.c @@ -171,7 +171,8 @@ static void usage(void) puts (" --use-ice Enable ICE (default:no)"); puts (" --add-codec=name Manually add codec (default is to enable all)"); puts (" --dis-codec=name Disable codec (can be specified multiple times)"); - puts (" --clock-rate=N Override sound device clock rate"); + puts (" --clock-rate=N Override conference bridge clock rate"); + puts (" --snd-clock-rate=N Override sound device clock rate"); puts (" --null-audio Use NULL audio device"); puts (" --play-file=file Register WAV file in conference bridge."); puts (" This can be specified multiple times."); @@ -386,8 +387,8 @@ static pj_status_t parse_args(int argc, char *argv[], OPT_NAMESERVER, OPT_STUN_DOMAIN, OPT_STUN_SRV, OPT_ADD_BUDDY, OPT_OFFER_X_MS_MSG, OPT_NO_PRESENCE, OPT_AUTO_ANSWER, OPT_AUTO_HANGUP, OPT_AUTO_PLAY, OPT_AUTO_LOOP, - OPT_AUTO_CONF, OPT_CLOCK_RATE, OPT_USE_ICE, OPT_USE_SRTP, - OPT_SRTP_SECURE, + OPT_AUTO_CONF, OPT_CLOCK_RATE, OPT_SND_CLOCK_RATE, OPT_USE_ICE, + OPT_USE_SRTP, OPT_SRTP_SECURE, OPT_PLAY_FILE, OPT_PLAY_TONE, OPT_RTP_PORT, OPT_ADD_CODEC, OPT_ILBC_MODE, OPT_REC_FILE, OPT_AUTO_REC, OPT_COMPLEXITY, OPT_QUALITY, OPT_PTIME, OPT_NO_VAD, @@ -409,6 +410,7 @@ static pj_status_t parse_args(int argc, char *argv[], { "help", 0, 0, OPT_HELP}, { "version", 0, 0, OPT_VERSION}, { "clock-rate", 1, 0, OPT_CLOCK_RATE}, + { "snd-clock-rate", 1, 0, OPT_SND_CLOCK_RATE}, { "null-audio", 0, 0, OPT_NULL_AUDIO}, { "local-port", 1, 0, OPT_LOCAL_PORT}, { "ip-addr", 1, 0, OPT_IP_ADDR}, @@ -562,12 +564,22 @@ static pj_status_t parse_args(int argc, char *argv[], lval = pj_strtoul(pj_cstr(&tmp, pj_optarg)); if (lval < 8000 || lval > 48000) { PJ_LOG(1,(THIS_FILE, "Error: expecting value between " - "8000-48000 for clock rate")); + "8000-48000 for conference clock rate")); return PJ_EINVAL; } cfg->media_cfg.clock_rate = lval; break; + case OPT_SND_CLOCK_RATE: + lval = pj_strtoul(pj_cstr(&tmp, pj_optarg)); + if (lval < 8000 || lval > 48000) { + PJ_LOG(1,(THIS_FILE, "Error: expecting value between " + "8000-48000 for sound device clock rate")); + return PJ_EINVAL; + } + cfg->media_cfg.snd_clock_rate = lval; + break; + case OPT_LOCAL_PORT: /* local-port */ lval = pj_strtoul(pj_cstr(&tmp, pj_optarg)); if (lval < 0 || lval > 65535) { @@ -1388,6 +1400,16 @@ static int write_settings(const struct app_config *config, pj_strcat2(&cfg, line); } + if (config->media_cfg.snd_clock_rate != config->media_cfg.clock_rate) { + pj_ansi_sprintf(line, "--snd-clock-rate %d\n", + config->media_cfg.snd_clock_rate); + pj_strcat2(&cfg, line); + } else { + pj_ansi_sprintf(line, "#using default --snd-clock-rate %d\n", + config->media_cfg.snd_clock_rate); + pj_strcat2(&cfg, line); + } + /* quality */ if (config->media_cfg.quality != PJSUA_DEFAULT_CODEC_QUALITY) { pj_ansi_sprintf(line, "--quality %d\n", |