Ignore:
Timestamp:
May 2, 2008 3:01:10 PM (16 years ago)
Author:
nanang
Message:

More ticket #513:

  • Added RTCP XR features on stream: configurable RTCP XR sending interval, third-party destination for RTCP XR, and sending last RTCP XR packet when stream destroyed.
  • Updated end system delay of RTCP XR: sound device latency estimated based on sound device implementation.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/src/pjmedia/rtcp_xr.c

    r1943 r1945  
    270270        pj_uint32_t c33; 
    271271        pj_uint32_t ctotal, p32, p23, m; 
     272        unsigned est_extra_delay; 
    272273 
    273274        r = (pjmedia_rtcp_xr_rb_voip_mtc*) &sess->pkt.buf[size]; 
     
    342343                                    (sess->rtcp_session->stat.rtt.last / 1000); 
    343344         
    344         /* End system delay estimation = RTT/2 + current jitter buffer size + 
    345          *                               EXTRA 
     345        /* End system delay = RTT/2 + current jitter buffer size +  
     346         *                    EXTRA (estimated extra delay) 
    346347         * EXTRA will cover additional delay introduced by other components of 
    347348         * audio engine, e.g: sound device, codec, AEC, PLC, WSOLA. 
    348349         * Since it is difficult to get the exact value of EXTRA, estimation 
    349          * is taken to be totally around 50 ms. 
     350         * is taken to be totally around 30ms + sound device latency. 
    350351         */ 
     352        est_extra_delay = 30 +  
     353#if PJMEDIA_SOUND_IMPLEMENTATION==PJMEDIA_SOUND_PORTAUDIO_SOUND 
     354                          PJMEDIA_PASOUND_MAX_LATENCY 
     355#elif PJMEDIA_SOUND_IMPLEMENTATION==PJMEDIA_SOUND_NULL_SOUND 
     356                          0 
     357#else 
     358                          (PJMEDIA_SOUND_BUFFER_COUNT * 15) 
     359#endif 
     360                          ; 
    351361        sess->stat.rx.voip_mtc.end_sys_delay = (pj_uint16_t) 
    352                                 (sess->stat.rx.voip_mtc.rnd_trip_delay / 2 + 
    353                                  sess->stat.rx.voip_mtc.jb_nom + 50); 
     362                                 (sess->stat.rx.voip_mtc.rnd_trip_delay / 2 + 
     363                                 sess->stat.rx.voip_mtc.jb_nom +  
     364                                 est_extra_delay); 
    354365 
    355366        /* Generate block contents */ 
Note: See TracChangeset for help on using the changeset viewer.