From 114fdc2a6e970673f50a6f567f758a8354ecde59 Mon Sep 17 00:00:00 2001 From: Liong Sauw Ming Date: Wed, 4 Apr 2012 05:45:46 +0000 Subject: 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 --- pjsip-apps/src/samples/aviplay.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'pjsip-apps/src/samples/aviplay.c') 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, ¶m.vidparam.fmt); + pjmedia_vid_dev_get_info(param.vidparam.rend_id, &rdr_info); for (i=0; idec_fmt_id_cnt; ++i) { for (k=0; kdec_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, ¶m.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) { -- cgit v1.2.3