summaryrefslogtreecommitdiff
path: root/pjsip-apps/src/pjsua/pjsua_app.c
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2012-04-05 08:38:49 +0000
committerNanang Izzuddin <nanang@teluu.com>2012-04-05 08:38:49 +0000
commit0294ae2a98b94d86ed2a5ab15c1a9d6f153fbd31 (patch)
tree2c5922bb81df05118fe8dac5976883b650d0da1f /pjsip-apps/src/pjsua/pjsua_app.c
parent982e0266b6149e39fc4578a4e9731440687b12ae (diff)
Misc (Re #1446): Add pjsua app video command for modifying video codec size/resolution.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4027 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps/src/pjsua/pjsua_app.c')
-rw-r--r--pjsip-apps/src/pjsua/pjsua_app.c25
1 files changed, 21 insertions, 4 deletions
diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c
index 0b04dd4f..23c5b215 100644
--- a/pjsip-apps/src/pjsua/pjsua_app.c
+++ b/pjsip-apps/src/pjsua/pjsua_app.c
@@ -3594,6 +3594,7 @@ static void vid_show_help(void)
puts("| vid codec prio ID PRIO Set codec ID priority to PRIO |");
puts("| vid codec fps ID NUM DEN Set codec ID framerate to (NUM/DEN) fps |");
puts("| vid codec bw ID AVG MAX Set codec ID bitrate to AVG & MAX kbps |");
+ puts("| vid codec size ID W H Set codec ID size/resolution to W x H |");
puts("| vid win list List all active video windows |");
puts("| vid win arrange Auto arrange windows |");
puts("| vid win show|hide ID Show/hide the specified video window ID |");
@@ -4261,8 +4262,8 @@ static void vid_handle_menu(char *menuin)
} else {
unsigned i;
PJ_LOG(3,(THIS_FILE, "Found %d video codecs:", count));
- PJ_LOG(3,(THIS_FILE, "codec id prio fps br(kbps)"));
- PJ_LOG(3,(THIS_FILE, "----------------------------------"));
+ PJ_LOG(3,(THIS_FILE, "codec id prio fps bw(kbps) size"));
+ PJ_LOG(3,(THIS_FILE, "------------------------------------------"));
for (i=0; i<count; ++i) {
pjmedia_vid_codec_param cp;
pjmedia_video_format_detail *vfd;
@@ -4273,12 +4274,13 @@ static void vid_handle_menu(char *menuin)
vfd = pjmedia_format_get_video_format_detail(&cp.enc_fmt,
PJ_TRUE);
- PJ_LOG(3,(THIS_FILE, "%.*s%.*s %3d %7.2f %d/%d",
+ PJ_LOG(3,(THIS_FILE, "%.*s%.*s %3d %7.2f %4d/%4d %dx%d",
(int)ci[i].codec_id.slen, ci[i].codec_id.ptr,
13-(int)ci[i].codec_id.slen, " ",
ci[i].priority,
(vfd->fps.num*1.0/vfd->fps.denum),
- vfd->avg_bps/1000, vfd->max_bps/1000));
+ vfd->avg_bps/1000, vfd->max_bps/1000,
+ vfd->size.w, vfd->size.h));
}
}
} else if (argc==5 && strcmp(argv[2], "prio")==0) {
@@ -4319,6 +4321,21 @@ static void vid_handle_menu(char *menuin)
}
if (status != PJ_SUCCESS)
PJ_PERROR(1,(THIS_FILE, status, "Set codec bitrate error"));
+ } else if (argc==6 && strcmp(argv[2], "size")==0) {
+ pjmedia_vid_codec_param cp;
+ pj_str_t cid;
+ int M, N;
+ cid = pj_str(argv[3]);
+ M = atoi(argv[4]);
+ N = atoi(argv[5]);
+ status = pjsua_vid_codec_get_param(&cid, &cp);
+ if (status == PJ_SUCCESS) {
+ cp.enc_fmt.det.vid.size.w = M;
+ cp.enc_fmt.det.vid.size.h = N;
+ status = pjsua_vid_codec_set_param(&cid, &cp);
+ }
+ if (status != PJ_SUCCESS)
+ PJ_PERROR(1,(THIS_FILE, status, "Set codec bitrate error"));
} else
goto on_error;
} else