Changeset 3366

Show
Ignore:
Timestamp:
04/16/00 01:04:48 (14 years ago)
Author:
ucaccsp
Message:

Fix SR timestamps.

Location:
rat/trunk
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • rat/trunk/MODS

    r3365 r3366  
    12751275        - Document configure options which may be needed to build on Irix  
    12761276          in INSTALL.TXT 
     1277        - Fix RTP SR timestamps and RTP jitter calculation 
     1278 
    12771279 
    12781280 
  • rat/trunk/main_engine.c

    r3363 r3366  
    119119int main(int argc, char *argv[]) 
    120120{ 
    121         uint32_t         ntp_time = 0; 
     121        uint32_t         rtp_time = 0; 
    122122        int              seed, elapsed_time, alc = 0, scnt = 0; 
    123123        session_t       *sp; 
     
    193193                /* Process audio */ 
    194194                elapsed_time = audio_rw_process(sp, sp, sp->ms); 
    195                 ntp_time     = ntp_time32(); 
    196195 
    197196                if (tx_is_sending(sp->tb)) { 
     
    204203                timeout.tv_usec = 0; 
    205204                for (j = 0; j < sp->rtp_session_count; j++) { 
    206                         while(rtp_recv(sp->rtp_session[j], &timeout, ntp_time)); 
    207                         rtp_send_ctrl(sp->rtp_session[j], ntp_time, NULL); 
     205                        /* FIXME: The should take an RTP format timestamp! */ 
     206                        rtp_time = tx_get_rtp_time(sp); 
     207                        while(rtp_recv(sp->rtp_session[j], &timeout, rtp_time)); 
     208                        rtp_send_ctrl(sp->rtp_session[j], rtp_time, NULL); 
    208209                        rtp_update(sp->rtp_session[j]); 
    209210                } 
     
    331332                                timeout.tv_usec = 0; 
    332333                                for (j = 0; j < sp->rtp_session_count; j++) { 
    333                                         while(rtp_recv(sp->rtp_session[j], &timeout, ntp_time)); 
     334                                        while(rtp_recv(sp->rtp_session[j], &timeout, rtp_time)); 
    334335                                } 
    335336                                sp->playing_audio = saved_playing_audio; 
  • rat/trunk/transmit.c

    r3334 r3366  
    791791        } 
    792792} 
     793 
     794uint32_t 
     795tx_get_rtp_time(session_t *sp) 
     796{ 
     797        return ts_seq32_out(&sp->tb->up_seq, sp->tb->sample_rate, sp->cur_ts); 
     798} 
     799 
  • rat/trunk/transmit.h

    r3325 r3366  
    3030void  tx_stop        (struct s_tx_buffer  *tb); 
    3131 
    32 int   tx_is_sending    (struct s_tx_buffer  *tb); 
     32int   tx_is_sending    (struct s_tx_buffer *tb); 
    3333int   tx_read_audio    (struct s_tx_buffer *tb); 
    3434int   tx_process_audio (struct s_tx_buffer *tb); 
     
    3939double tx_get_bps      (struct s_tx_buffer *tb); 
    4040 
     41uint32_t tx_get_rtp_time(struct s_session *sp); 
     42 
    4143#endif /* _transmit_h_ */