Ignore:
Timestamp:
Mar 2, 2011 8:37:31 AM (11 years ago)
Author:
nanang
Message:

Re #1182:

  • Added remote frame-rate detection in to video stream.
  • Fixed bitrate settings in ffmpeg codec.
  • Fixed SDL dev to update internal SDL info when format changed.
  • Minor fixes/updates, e.g:
    • added cleanup steps, fixed logs, etc, in sample app simpleua.c and vid_streamutil.c
    • fixed/added docs of the new APIs in the jitter buffer.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/projects/2.0-dev/pjmedia/src/pjmedia/jbuf.c

    r3420 r3435  
    264264                                  pjmedia_jb_frame_type *p_type, 
    265265                                  pj_uint32_t *bit_info, 
    266                                   pj_uint32_t *ts)  
     266                                  pj_uint32_t *ts, 
     267                                  int *seq)  
    267268{ 
    268269    if (framelist->size) { 
     
    289290            if (ts) 
    290291                *ts = framelist->ts[framelist->head]; 
     292            if (seq) 
     293                *seq = framelist->origin; 
    291294 
    292295            //pj_bzero(framelist->content +  
     
    314317 
    315318static pj_bool_t jb_framelist_peek(jb_framelist_t *framelist, 
    316                                    unsigned idx, 
     319                                   unsigned offset, 
    317320                                   const void **frame, 
    318321                                   pj_size_t *size, 
    319322                                   pjmedia_jb_frame_type *type, 
    320323                                   pj_uint32_t *bit_info, 
    321                                    pj_uint32_t *ts)  
    322 { 
    323     unsigned pos; 
    324  
    325     if (idx >= jb_framelist_eff_size(framelist)) 
     324                                   pj_uint32_t *ts, 
     325                                   int *seq)  
     326{ 
     327    unsigned pos, idx; 
     328 
     329    if (offset >= jb_framelist_eff_size(framelist)) 
    326330        return PJ_FALSE; 
    327331 
    328332    pos = framelist->head; 
     333    idx = offset; 
    329334 
    330335    /* Find actual peek position, note there may be discarded frames */ 
     
    351356    if (ts) 
    352357        *ts = framelist->ts[pos]; 
     358    if (seq) 
     359        *seq = framelist->origin + offset; 
    353360 
    354361    return PJ_TRUE; 
     
    932939                                     char *p_frame_type) 
    933940{ 
    934     pjmedia_jbuf_get_frame3(jb, frame, NULL, p_frame_type, NULL, NULL); 
     941    pjmedia_jbuf_get_frame3(jb, frame, NULL, p_frame_type, NULL, 
     942                            NULL, NULL); 
    935943} 
    936944 
     
    944952                                     pj_uint32_t *bit_info) 
    945953{ 
    946     pjmedia_jbuf_get_frame3(jb, frame, size, p_frame_type, bit_info, NULL); 
     954    pjmedia_jbuf_get_frame3(jb, frame, size, p_frame_type, bit_info, 
     955                            NULL, NULL); 
    947956} 
    948957 
     
    955964                                     char *p_frame_type, 
    956965                                     pj_uint32_t *bit_info, 
    957                                      pj_uint32_t *ts) 
     966                                     pj_uint32_t *ts, 
     967                                     int *seq) 
    958968{ 
    959969    if (jb->jb_status == JB_STATUS_PREFETCHING) { 
     
    980990        /* Try to retrieve a frame from frame list */ 
    981991        res = jb_framelist_get(&jb->jb_framelist, frame, size, &ftype,  
    982                                bit_info, ts); 
     992                               bit_info, ts, seq); 
    983993        if (res) { 
    984994            /* We've successfully retrieved a frame from the frame list, but 
     
    10501060 
    10511061PJ_DEF(void) pjmedia_jbuf_peek_frame( pjmedia_jbuf *jb, 
    1052                                       unsigned idx, 
     1062                                      unsigned offset, 
    10531063                                      const void **frame,  
    10541064                                      pj_size_t *size,  
    10551065                                      char *p_frm_type, 
    10561066                                      pj_uint32_t *bit_info, 
    1057                                       pj_uint32_t *ts) 
     1067                                      pj_uint32_t *ts, 
     1068                                      int *seq) 
    10581069{ 
    10591070    pjmedia_jb_frame_type ftype; 
    10601071    pj_bool_t res; 
    10611072 
    1062     res = jb_framelist_peek(&jb->jb_framelist, idx, frame, size, &ftype, bit_info, ts); 
     1073    res = jb_framelist_peek(&jb->jb_framelist, offset, frame, size, &ftype, 
     1074                            bit_info, ts, seq); 
    10631075    if (!res) 
    10641076        *p_frm_type = PJMEDIA_JB_ZERO_EMPTY_FRAME; 
Note: See TracChangeset for help on using the changeset viewer.