diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2012-03-30 08:55:18 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2012-03-30 08:55:18 +0000 |
commit | 9bae385aa63838e490fbb671da2c027684164984 (patch) | |
tree | 20716e093b7b2aea960b7a89fc50f45f6f14d169 /pjmedia/src | |
parent | 4104a374e7dcf0aaa30dbfbd4195c9b2444c8e58 (diff) |
Fix #1475: Fixed wrong frame size calculation used for jitter buffer initialization in video stream, it should be based on PJMEDIA_MAX_MTU instead of encoder MTU setting.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4003 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia/src')
-rw-r--r-- | pjmedia/src/pjmedia/vid_stream.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/pjmedia/src/pjmedia/vid_stream.c b/pjmedia/src/pjmedia/vid_stream.c index 478b206f..b66eab2f 100644 --- a/pjmedia/src/pjmedia/vid_stream.c +++ b/pjmedia/src/pjmedia/vid_stream.c @@ -1266,7 +1266,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_stream_create( int frm_ptime, chunks_per_frm; pjmedia_video_format_detail *vfd_enc, *vfd_dec; char *p; - unsigned mtu; + unsigned dec_mtu; pj_status_t status; if (!pool) { @@ -1318,7 +1318,9 @@ PJ_DEF(pj_status_t) pjmedia_vid_stream_create( PJMEDIA_STREAM_RESV_PAYLOAD_LEN); if (info->codec_param->enc_mtu > PJMEDIA_MAX_MTU) info->codec_param->enc_mtu = PJMEDIA_MAX_MTU; - mtu = info->codec_param->enc_mtu; + + /* MTU estimation for decoding direction */ + dec_mtu = PJMEDIA_MAX_MTU; vfd_enc = pjmedia_format_get_video_format_detail( &info->codec_param->enc_fmt, PJ_TRUE); @@ -1420,7 +1422,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_stream_create( /* Init jitter buffer parameters: */ frm_ptime = 1000 * vfd_enc->fps.denum / vfd_enc->fps.num; - chunks_per_frm = stream->frame_size / mtu; + chunks_per_frm = stream->frame_size / dec_mtu; if (chunks_per_frm == 0) chunks_per_frm = 1; /* JB max count, default 500ms */ @@ -1456,7 +1458,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_stream_create( /* Create jitter buffer */ status = pjmedia_jbuf_create(pool, &stream->dec->port.info.name, - mtu + PJMEDIA_STREAM_RESV_PAYLOAD_LEN, + dec_mtu + PJMEDIA_STREAM_RESV_PAYLOAD_LEN, 1000 * vfd_enc->fps.denum / vfd_enc->fps.num, jb_max, &stream->jb); if (status != PJ_SUCCESS) |