Changeset 3396 for pjproject/trunk/pjmedia/src/pjmedia/jbuf.c
- Timestamp:
- Dec 14, 2010 8:39:47 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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.