summaryrefslogtreecommitdiff
path: root/pjsip-apps/src/samples
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2012-04-04 05:45:46 +0000
committerLiong Sauw Ming <ming@teluu.com>2012-04-04 05:45:46 +0000
commit114fdc2a6e970673f50a6f567f758a8354ecde59 (patch)
tree5129227de7f8366770dd1f4fd7ed9e2f10c8c5fc /pjsip-apps/src/samples
parent9ca48204cb8cce4241f3515b2980cafb34c2fbcf (diff)
Misc (Re #1446): Add support for aviplay to play H264 and MPEG4 decoded AVI videos. This includes support for XVID and DIVX MPEG4.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4018 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps/src/samples')
-rw-r--r--pjsip-apps/src/samples/aviplay.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/pjsip-apps/src/samples/aviplay.c b/pjsip-apps/src/samples/aviplay.c
index 03fbe800..98b0bb13 100644
--- a/pjsip-apps/src/samples/aviplay.c
+++ b/pjsip-apps/src/samples/aviplay.c
@@ -84,7 +84,8 @@ struct codec_fmt {
PJ_TRUE , PJMEDIA_FORMAT_I420},
{PJMEDIA_FORMAT_H263 , "h263" ,
PJ_FALSE, 0},
- {PJMEDIA_FORMAT_XVID , "xvid"},
+ {PJMEDIA_FORMAT_MPEG4, "mp4v"},
+ {PJMEDIA_FORMAT_H264 , "h264"}
};
typedef struct avi_port_t
@@ -269,12 +270,16 @@ static int aviplay(pj_pool_t *pool, const char *fname)
rc = 246; goto on_return;
}
+ pjmedia_format_copy(&codec_param.enc_fmt, &param.vidparam.fmt);
+
pjmedia_vid_dev_get_info(param.vidparam.rend_id, &rdr_info);
for (i=0; i<codec_info->dec_fmt_id_cnt; ++i) {
for (k=0; k<rdr_info.fmt_cnt; ++k) {
if (codec_info->dec_fmt_id[i]==(int)rdr_info.fmt[k].id)
{
param.vidparam.fmt.id = codec_info->dec_fmt_id[i];
+ i = codec_info->dec_fmt_id_cnt;
+ break;
}
}
}
@@ -292,6 +297,7 @@ static int aviplay(pj_pool_t *pool, const char *fname)
}
pjmedia_format_copy(&codec_param.dec_fmt, &param.vidparam.fmt);
+ codec_param.dir = PJMEDIA_DIR_DECODING;
codec_param.packing = PJMEDIA_VID_PACKING_WHOLE;
status = pjmedia_vid_codec_open(codec, &codec_param);
if (status != PJ_SUCCESS) {