diff options
Diffstat (limited to 'pjmedia')
-rw-r--r-- | pjmedia/src/pjmedia/stream.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/pjmedia/src/pjmedia/stream.c b/pjmedia/src/pjmedia/stream.c index b7869354..f1d01c27 100644 --- a/pjmedia/src/pjmedia/stream.c +++ b/pjmedia/src/pjmedia/stream.c @@ -1659,25 +1659,26 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, #endif /* Init jitter buffer parameters: */ - if (info->jb_max > 0) - jb_max = info->jb_max; + if (info->jb_max >= stream->codec_param.info.frm_ptime) + jb_max = (info->jb_max + stream->codec_param.info.frm_ptime - 1) / + stream->codec_param.info.frm_ptime; else jb_max = 500 / stream->codec_param.info.frm_ptime; - if (info->jb_min_pre > 0) - jb_min_pre = info->jb_min_pre; + if (info->jb_min_pre >= stream->codec_param.info.frm_ptime) + jb_min_pre = info->jb_min_pre / stream->codec_param.info.frm_ptime; else //jb_min_pre = 60 / stream->codec_param.info.frm_ptime; jb_min_pre = 1; - if (info->jb_max_pre > 0) - jb_max_pre = info->jb_max_pre; + if (info->jb_max_pre >= stream->codec_param.info.frm_ptime) + jb_max_pre = info->jb_max_pre / stream->codec_param.info.frm_ptime; else //jb_max_pre = 240 / stream->codec_param.info.frm_ptime; jb_max_pre = jb_max * 4 / 5; - if (info->jb_init > 0) - jb_init = info->jb_init; + if (info->jb_init >= stream->codec_param.info.frm_ptime) + jb_init = info->jb_init / stream->codec_param.info.frm_ptime; else //jb_init = (jb_min_pre + jb_max_pre) / 2; jb_init = 0; |