- Timestamp:
- Feb 10, 2009 4:43:16 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/branches/projects/aps-direct/pjmedia/include/pjmedia/port.h
r2444 r2445 301 301 PJ_INLINE(void) pjmedia_frame_ext_append_subframe(pjmedia_frame_ext *frm, 302 302 const void *src, 303 pj_uint16_t bitlen, 304 pj_uint16_t samples_cnt) 305 { 303 unsigned bitlen, 304 unsigned samples_cnt) 305 { 306 pjmedia_frame_ext_subframe *fsub; 306 307 pj_uint8_t *p; 307 unsigned i , tmp;308 unsigned i; 308 309 309 310 p = (pj_uint8_t*)frm + sizeof(pjmedia_frame_ext); 310 311 for (i = 0; i < frm->subframe_cnt; ++i) { 311 pjmedia_frame_ext_subframe *fsub;312 312 fsub = (pjmedia_frame_ext_subframe*) p; 313 p += sizeof(fsub->bitlen) + (fsub->bitlen >> 3); 314 if (fsub->bitlen & 0x07) 315 ++p; 313 p += sizeof(fsub->bitlen) + ((fsub->bitlen+7) >> 3); 316 314 } 317 315 318 tmp = bitlen >> 3; 319 if (bitlen & 0x07) 320 ++tmp; 321 322 pj_memcpy(p, &bitlen, sizeof(bitlen)); 323 if (tmp) 324 pj_memcpy(p + sizeof(bitlen), src, tmp); 316 fsub = (pjmedia_frame_ext_subframe*) p; 317 fsub->bitlen = (pj_uint16_t)bitlen; 318 if (bitlen) 319 pj_memcpy(fsub->data, src, (bitlen+7) >> 3); 325 320 326 321 frm->subframe_cnt++; 327 frm->samples_cnt = frm->samples_cnt + samples_cnt;322 frm->samples_cnt = frm->samples_cnt + (pj_uint16_t)samples_cnt; 328 323 } 329 324 … … 349 344 for (i = 0; i < n; ++i) { 350 345 sf = (pjmedia_frame_ext_subframe*) p; 351 p += sizeof(sf->bitlen) + (sf->bitlen >> 3); 352 if (sf->bitlen & 0x07) 353 ++p; 346 p += sizeof(sf->bitlen) + ((sf->bitlen+7) >> 3); 354 347 } 355 348 … … 384 377 sf = pjmedia_frame_ext_get_subframe(frm, frm->subframe_cnt-1); 385 378 move_len = (pj_uint8_t*)sf - move_src + sizeof(sf->bitlen) + 386 (sf->bitlen >> 3); 387 if (sf->bitlen & 0x07) 388 ++move_len; 379 ((sf->bitlen+7) >> 3); 389 380 pj_memmove((pj_uint8_t*)frm+sizeof(pjmedia_frame_ext), 390 381 move_src, move_len);
Note: See TracChangeset
for help on using the changeset viewer.