Changeset 2436


Ignore:
Timestamp:
Jan 29, 2009 8:06:28 PM (11 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.
Location:
pjproject/branches/projects/aps-direct/pjmedia
Files:
2 added
3 edited

Legend:

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

    r2434 r2436  
    204204#endif 
    205205 
     206#ifndef PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 
     207#   define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR    1 
     208#endif 
     209 
     210#ifndef PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 
     211#   define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729   1 
     212#endif 
     213 
     214#ifndef PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 
     215#   define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC   1 
     216#endif 
     217 
     218#ifndef PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 
     219#   define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU   1 
     220#endif 
     221 
     222#ifndef PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 
     223#   define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA   1 
     224#endif 
     225 
    206226#endif  /* __PJMEDIA_CODEC_CONFIG_H__ */ 
  • pjproject/branches/projects/aps-direct/pjmedia/include/pjmedia/codec.h

    r2394 r2436  
    276276       pj_uint8_t  pcm_bits_per_sample; /**< Bits/sample in the PCM side    */ 
    277277       pj_uint8_t  pt;                  /**< Payload type.                  */ 
     278       pjmedia_fourcc format;           /**< Source format, it's format of 
     279                                             encoder input and decoder  
     280                                             output.                        */ 
    278281    } info; 
    279282 
  • 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.