Ticket #1189: ticket-1189.patch
File ticket-1189.patch, 2.1 KB (added by bennylp, 13 years ago) |
---|
-
pjmedia/src/pjmedia/jbuf.c
758 758 /* Calculating discard interval (aggressiveness) based on 759 759 * (current size / burst level). 760 760 */ 761 if ( jb->jb_status == JB_STATUS_PROCESSING) {761 if (cur_size >= 0 && jb->jb_status == JB_STATUS_PROCESSING) { 762 762 burst_level = PJ_MAX(jb->jb_eff_level, jb->jb_level); 763 763 burst_factor = cur_size / burst_level; 764 764 /* Tolerate small spikes */ … … 791 791 * from the last frame discarded. 792 792 */ 793 793 seq_delta = (pj_uint16_t)(frame_seq - jb->jb_last_discard_seq); 794 if ((0 != interval) && (seq_delta >= interval)) { 795 frame_type = PJMEDIA_JB_DISCARDED_FRAME; 796 jb->jb_last_discard_seq = frame_seq; 794 if (interval != 0) { 795 if (seq_delta >= interval) { 796 frame_type = PJMEDIA_JB_DISCARDED_FRAME; 797 jb->jb_last_discard_seq = frame_seq; 797 798 798 TRACE__((jb->jb_name.ptr, 799 "Discarding frame #%d: eff=%d disc=%d orig:%d" 800 " seq_delta:%d", 801 frame_seq, 802 cur_size, 803 jb_framelist_size(&jb->jb_framelist) - cur_size, 804 jb_framelist_origin(&jb->jb_framelist), 805 (int)seq_delta)); 799 TRACE__((jb->jb_name.ptr, 800 "Discarding frame #%d: eff=%d disc=%d orig:%d" 801 " seq_delta:%d bf:%d", 802 frame_seq, 803 cur_size, 804 jb_framelist_size(&jb->jb_framelist) - cur_size, 805 jb_framelist_origin(&jb->jb_framelist), 806 (int)seq_delta, burst_factor)); 807 } else if (seq_delta == 1) { 808 frame_type = PJMEDIA_JB_ZERO_EMPTY_FRAME; 809 //jb->jb_last_discard_seq = frame_seq; 810 811 TRACE__((jb->jb_name.ptr, 812 "Concealing Discarded frame #%d: eff=%d disc=%d" 813 " orig:%d seq_delta:%d b:%d", 814 frame_seq, 815 cur_size, 816 jb_framelist_size(&jb->jb_framelist) - cur_size, 817 jb_framelist_origin(&jb->jb_framelist), 818 (int)seq_delta, burst_factor)); 819 } 806 820 } 807 821 } 808 822 #endif /* PROGRESSIVE_DISCARD */ 809 810 823 824 811 825 /* Attempt to store the frame */ 812 826 min_frame_size = PJ_MIN(frame_size, jb->jb_frame_size); 813 827 status = jb_framelist_put_at(&jb->jb_framelist, frame_seq, frame,