summaryrefslogtreecommitdiff
path: root/pjsip-apps
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-03-29 12:24:20 +0000
committerBenny Prijono <bennylp@teluu.com>2008-03-29 12:24:20 +0000
commit56b85d18b70cdb0c1baaf152f4e5f0cbe99eefb7 (patch)
treeaea47220f781b327cf443f36043fb4f0b6cbee7a /pjsip-apps
parent729ec5bf12d0c1b0e07d73909a58c8fed71e487f (diff)
Ticket #504: final installment to support stereo audio all the way in PJMEDIA. Please see tickiet #504 for more info
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1898 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps')
-rw-r--r--pjsip-apps/build/Samples-vc.mak1
-rw-r--r--pjsip-apps/build/Samples.mak1
-rw-r--r--pjsip-apps/build/samples.dsp4
-rw-r--r--pjsip-apps/src/pjsua/pjsua_app.c19
4 files changed, 22 insertions, 3 deletions
diff --git a/pjsip-apps/build/Samples-vc.mak b/pjsip-apps/build/Samples-vc.mak
index f7df9936..1aa3d454 100644
--- a/pjsip-apps/build/Samples-vc.mak
+++ b/pjsip-apps/build/Samples-vc.mak
@@ -68,6 +68,7 @@ SAMPLES = $(BINDIR)\confsample.exe \
$(BINDIR)\sndtest.exe \
$(BINDIR)\stateful_proxy.exe \
$(BINDIR)\stateless_proxy.exe \
+ $(BINDIR)\stereotest.exe \
$(BINDIR)\streamutil.exe \
$(BINDIR)\strerror.exe \
$(BINDIR)\tonegen.exe
diff --git a/pjsip-apps/build/Samples.mak b/pjsip-apps/build/Samples.mak
index f96f77fe..5d1688b1 100644
--- a/pjsip-apps/build/Samples.mak
+++ b/pjsip-apps/build/Samples.mak
@@ -31,6 +31,7 @@ SAMPLES := confsample \
sndtest \
stateful_proxy \
stateless_proxy \
+ stereotest \
streamutil \
strerror \
tonegen
diff --git a/pjsip-apps/build/samples.dsp b/pjsip-apps/build/samples.dsp
index c5742ca8..b83ef436 100644
--- a/pjsip-apps/build/samples.dsp
+++ b/pjsip-apps/build/samples.dsp
@@ -178,6 +178,10 @@ SOURCE=..\src\samples\stateless_proxy.c
# End Source File
# Begin Source File
+SOURCE=..\src\samples\stereotest.c
+# End Source File
+# Begin Source File
+
SOURCE=..\src\samples\streamutil.c
# End Source File
# Begin Source File
diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c
index e394d916..3f7631a6 100644
--- a/pjsip-apps/src/pjsua/pjsua_app.c
+++ b/pjsip-apps/src/pjsua/pjsua_app.c
@@ -175,6 +175,7 @@ static void usage(void)
puts (" --dis-codec=name Disable codec (can be specified multiple times)");
puts (" --clock-rate=N Override conference bridge clock rate");
puts (" --snd-clock-rate=N Override sound device clock rate");
+ puts (" --stereo Audio device and conference bridge opened in stereo mode");
puts (" --null-audio Use NULL audio device");
puts (" --play-file=file Register WAV file in conference bridge.");
puts (" This can be specified multiple times.");
@@ -389,8 +390,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_SND_CLOCK_RATE, OPT_USE_ICE,
- OPT_USE_SRTP, OPT_SRTP_SECURE,
+ OPT_AUTO_CONF, OPT_CLOCK_RATE, OPT_SND_CLOCK_RATE, OPT_STEREO,
+ 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,
@@ -413,6 +414,7 @@ static pj_status_t parse_args(int argc, char *argv[],
{ "version", 0, 0, OPT_VERSION},
{ "clock-rate", 1, 0, OPT_CLOCK_RATE},
{ "snd-clock-rate", 1, 0, OPT_SND_CLOCK_RATE},
+ { "stereo", 0, 0, OPT_STEREO},
{ "null-audio", 0, 0, OPT_NULL_AUDIO},
{ "local-port", 1, 0, OPT_LOCAL_PORT},
{ "ip-addr", 1, 0, OPT_IP_ADDR},
@@ -582,6 +584,10 @@ static pj_status_t parse_args(int argc, char *argv[],
cfg->media_cfg.snd_clock_rate = lval;
break;
+ case OPT_STEREO:
+ cfg->media_cfg.channel_count = 2;
+ break;
+
case OPT_LOCAL_PORT: /* local-port */
lval = pj_strtoul(pj_cstr(&tmp, pj_optarg));
if (lval < 0 || lval > 65535) {
@@ -1412,6 +1418,12 @@ static int write_settings(const struct app_config *config,
pj_strcat2(&cfg, line);
}
+ /* Stereo mode. */
+ if (config->media_cfg.channel_count == 2) {
+ pj_ansi_sprintf(line, "--stereo\n");
+ pj_strcat2(&cfg, line);
+ }
+
/* quality */
if (config->media_cfg.quality != PJSUA_DEFAULT_CODEC_QUALITY) {
pj_ansi_sprintf(line, "--quality %d\n",
@@ -2314,10 +2326,11 @@ static void conf_list(void)
pj_ansi_sprintf(s, "#%d ", info.listeners[j]);
pj_ansi_strcat(txlist, s);
}
- printf("Port #%02d[%2dKHz/%dms] %20.*s transmitting to: %s\n",
+ printf("Port #%02d[%2dKHz/%dms/%d] %20.*s transmitting to: %s\n",
info.slot_id,
info.clock_rate/1000,
info.samples_per_frame * 1000 / info.clock_rate,
+ info.channel_count,
(int)info.name.slen,
info.name.ptr,
txlist);