Ignore:
Timestamp:
Jan 29, 2009 8:06:28 PM (15 years ago)
Author:
nanang
Message:
  • Added pjmedia passthrough codec.
  • Added field format in codec param info.
  • Updated pjmedia_frame_ext_get_subframe to have index range checking.
  • Added API docs on pjmedia_frame_ext routines.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/projects/aps-direct/pjmedia/include/pjmedia/port.h

    r2434 r2436  
    285285 
    286286 
    287 /* Append one subframe to the frame_ext */ 
     287/** 
     288 * Append one subframe to #pjmedia_frame_ext. 
     289 * 
     290 * @param frm               The #pjmedia_frame_ext. 
     291 * @param src               Subframe data. 
     292 * @param bitlen            Lenght of subframe, in bits. 
     293 * @param samples_cnt       Number of audio samples in subframe. 
     294 */ 
    288295PJ_INLINE(void) pjmedia_frame_ext_append_subframe(pjmedia_frame_ext *frm, 
    289296                                                  const void *src, 
     
    311318} 
    312319 
    313 /* Get the pointer and length of the n-th subframe */ 
     320/** 
     321 * Get a subframe from #pjmedia_frame_ext. 
     322 * 
     323 * @param frm               The #pjmedia_frame_ext. 
     324 * @param n                 Subframe index, zero based. 
     325 * 
     326 * @return                  The n-th subframe, or NULL if n is out-of-range. 
     327 */ 
    314328PJ_INLINE(pjmedia_frame_ext_subframe*)  
    315329          pjmedia_frame_ext_get_subframe(const pjmedia_frame_ext *frm, 
    316330                                         unsigned n) 
    317331{ 
    318     pj_uint8_t *p; 
    319     unsigned i; 
    320     pjmedia_frame_ext_subframe *tmp; 
    321  
    322     pj_assert(n < frm->subframe_cnt); 
    323  
    324     p = (pj_uint8_t*)frm + sizeof(pjmedia_frame_ext); 
    325     for (i = 0; i < n; ++i) {    
    326         tmp = (pjmedia_frame_ext_subframe*) p; 
    327         p += tmp->bitlen / 8; 
    328         if (tmp->bitlen % 8) 
    329             ++p; 
     332    pjmedia_frame_ext_subframe *sf = NULL; 
     333 
     334    if (n < frm->subframe_cnt) { 
     335        pj_uint8_t *p; 
     336        unsigned i; 
     337 
     338        p = (pj_uint8_t*)frm + sizeof(pjmedia_frame_ext); 
     339        for (i = 0; i < n; ++i) {        
     340            sf = (pjmedia_frame_ext_subframe*) p; 
     341            p += sf->bitlen / 8; 
     342            if (sf->bitlen % 8) 
     343                ++p; 
     344        } 
     345         
     346        sf = (pjmedia_frame_ext_subframe*) p; 
    330347    } 
    331      
    332     tmp = (pjmedia_frame_ext_subframe*) p; 
    333     return tmp; 
     348 
     349    return sf; 
    334350} 
    335351         
Note: See TracChangeset for help on using the changeset viewer.