Changeset 3396
- Timestamp:
- Dec 14, 2010 8:39:47 PM (14 years ago)
- Location:
- pjproject/trunk/pjmedia
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjmedia/build/Jbtest.dat
r3065 r3396 144 144 !burst 4 145 145 !discard 68 <- number of PUT - GET, JB does shrinking by discarding frames 146 !lost 0146 !lost 68 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal 147 147 !empty 4 148 148 !delay 8 <- should be less than or equal to twice of burst … … 294 294 !burst 1 295 295 !discard 50 <- frames discarded for delay adaptation 296 !lost 0296 !lost 50 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal 297 297 !empty 0 298 298 !delay 25 <- average delay, JB is able to adapt the delay … … 348 348 !burst 1 349 349 !discard 50 <- frames discarded for delay adaptation 350 !lost 0350 !lost 50 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal 351 351 !empty 0 352 352 !delay 20 <- average delay, twice of minimal prefetch … … 372 372 !burst 10 373 373 !discard 300 <- not so relevant for long period session with many delay adjustments needed (i.e: for first burst and periodic spikes) 374 !lost 0374 !lost 300 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal 375 375 !empty 60 <- delay adjustment effect, as there is actually no drift 376 376 !delay 20 <- twice of burst level average -
pjproject/trunk/pjmedia/src/pjmedia/jbuf.c
r3359 r3396 262 262 { 263 263 if (framelist->size) { 264 pj_bool_t prev_discarded = PJ_FALSE; 264 265 265 266 /* Skip discarded frames */ … … 268 269 { 269 270 jb_framelist_remove_head(framelist, 1); 271 prev_discarded = PJ_TRUE; 270 272 } 271 273 272 274 /* Return the head frame if any */ 273 275 if (framelist->size) { 274 pj_memcpy(frame, 275 framelist->content + 276 framelist->head * framelist->frame_size, 277 framelist->frame_size); 278 *p_type = (pjmedia_jb_frame_type) 279 framelist->frame_type[framelist->head]; 280 if (size) 281 *size = framelist->content_len[framelist->head]; 282 if (bit_info) 283 *bit_info = framelist->bit_info[framelist->head]; 276 if (prev_discarded) { 277 /* Ticket #1188: when previous frame(s) was discarded, return 278 * 'missing' frame to trigger PLC to get smoother signal. 279 */ 280 *p_type = PJMEDIA_JB_MISSING_FRAME; 281 if (size) 282 *size = 0; 283 if (bit_info) 284 *bit_info = 0; 285 } else { 286 pj_memcpy(frame, 287 framelist->content + 288 framelist->head * framelist->frame_size, 289 framelist->frame_size); 290 *p_type = (pjmedia_jb_frame_type) 291 framelist->frame_type[framelist->head]; 292 if (size) 293 *size = framelist->content_len[framelist->head]; 294 if (bit_info) 295 *bit_info = framelist->bit_info[framelist->head]; 296 } 284 297 285 298 //pj_bzero(framelist->content +
Note: See TracChangeset
for help on using the changeset viewer.