Changeset 1983 for pjproject/trunk/pjmedia/src/pjmedia/jbuf.c
- Timestamp:
- Jun 5, 2008 10:50:40 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjmedia/src/pjmedia/jbuf.c
r1961 r1983 39 39 int *flist_frame_type; 40 40 pj_size_t *flist_content_len; 41 pj_uint32_t *flist_bit_info; 41 42 unsigned flist_frame_size; 42 43 unsigned flist_max_count; … … 109 110 framelist->flist_max_count); 110 111 112 framelist->flist_bit_info = (pj_uint32_t*) 113 pj_pool_zalloc(pool, sizeof(framelist->flist_bit_info[0]) * 114 framelist->flist_max_count); 115 111 116 framelist->flist_empty = 1; 112 117 … … 135 140 static pj_bool_t jb_framelist_get(jb_framelist_t *framelist, 136 141 void *frame, pj_size_t *size, 137 pjmedia_jb_frame_type *p_type) 142 pjmedia_jb_frame_type *p_type, 143 pj_uint32_t *bit_info) 138 144 { 139 145 if (!framelist->flist_empty) { … … 144 150 *p_type = (pjmedia_jb_frame_type) 145 151 framelist->flist_frame_type[framelist->flist_head]; 146 *size = framelist->flist_content_len[framelist->flist_head]; 152 if (size) 153 *size = framelist->flist_content_len[framelist->flist_head]; 154 if (bit_info) 155 *bit_info = framelist->flist_bit_info[framelist->flist_head]; 147 156 148 157 pj_bzero(framelist->flist_buffer + … … 222 231 unsigned index, 223 232 const void *frame, 224 unsigned frame_size) 233 unsigned frame_size, 234 pj_uint32_t bit_info) 225 235 { 226 236 unsigned where; … … 264 274 framelist->flist_frame_type[where] = PJMEDIA_JB_NORMAL_FRAME; 265 275 framelist->flist_content_len[where] = frame_size; 276 framelist->flist_bit_info[where] = bit_info; 266 277 267 278 return PJ_TRUE; … … 479 490 int frame_seq) 480 491 { 481 pjmedia_jbuf_put_frame2(jb, frame, frame_size, frame_seq, NULL);492 pjmedia_jbuf_put_frame2(jb, frame, frame_size, 0, frame_seq, NULL); 482 493 } 483 494 … … 485 496 const void *frame, 486 497 pj_size_t frame_size, 498 pj_uint32_t bit_info, 487 499 int frame_seq, 488 500 pj_bool_t *discarded) … … 509 521 if (seq_diff > 0) { 510 522 511 while (jb_framelist_put_at(&jb->jb_framelist, 512 frame_seq,frame,min_frame_size) == PJ_FALSE)523 while (jb_framelist_put_at(&jb->jb_framelist, frame_seq, frame, 524 min_frame_size, bit_info) == PJ_FALSE) 513 525 { 514 526 jb_framelist_remove_head(&jb->jb_framelist, … … 526 538 pj_bool_t res; 527 539 res = jb_framelist_put_at(&jb->jb_framelist,frame_seq,frame, 528 min_frame_size );540 min_frame_size, bit_info); 529 541 if (discarded) 530 542 *discarded = !res; … … 539 551 char *p_frame_type) 540 552 { 541 pj_size_t size; 542 543 pjmedia_jbuf_get_frame2(jb, frame, &size, p_frame_type); 553 pjmedia_jbuf_get_frame2(jb, frame, NULL, p_frame_type, NULL); 544 554 } 545 555 … … 550 560 void *frame, 551 561 pj_size_t *size, 552 char *p_frame_type) 562 char *p_frame_type, 563 pj_uint32_t *bit_info) 553 564 { 554 565 pjmedia_jb_frame_type ftype; … … 582 593 583 594 /* Retrieve a frame from frame list */ 584 if (jb_framelist_get(&jb->jb_framelist,frame,size,&ftype) == PJ_FALSE) { 595 if (jb_framelist_get(&jb->jb_framelist,frame,size,&ftype,bit_info) == 596 PJ_FALSE) 597 { 585 598 /* Can't return frame because jitter buffer is empty! */ 586 599 pj_bzero(frame, jb->jb_frame_size);
Note: See TracChangeset
for help on using the changeset viewer.