linphone-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Linphone-developers] jitter compensation


From: Lorenzo Viti
Subject: [Linphone-developers] jitter compensation
Date: Mon, 14 Jun 2010 17:49:32 +0200

I'm having a problem of audio loss when the sender is slower than the receiver (negative time slide) on my application that uses the oRTP library ver.0.13. I enabled some output log messages in order to understand the problem, the log shows that the time slide computed with the jitter_control_new_packet function, starts from 0 and decreases to -320, the decreasing is with steps and is not linear. After the slide reaches -320 value, the slide decreases again and the application starts to discard packets with old timestamp ( rtp_getq: discarding too old packet with ts=32880160, local_ts=32880398 ). I'm using 10 ms jitter buffer compensation on a local LAN.

Have you suggestions about this problem? Could you tell me what it has been changed/fixed in the new versions of oRTP library (from 0.15) related to the jitter_control_new_packet function? New versions of the library have fixed the algorithm behavior related to the late packet arrival?
What is the reason of the following difference of sign (plus instead minus) in the operation of slide correction between ortp ver 0.15 and ver 0.13? It was a bug fixing?

function rtp_session_recvm_with_ts (rtpsession.c line=1059):

        /* update the packet's timestamp so that it corrected by the
        adaptive jitter buffer mechanism */
        if (session->rtp.jittctl.adaptive){
            uint32_t changed_ts;
            /* only update correction offset between packets of different
            timestamps*/
            if (packet_ts!=session->rtp.rcv_last_ts)
                jitter_control_update_corrective_slide(&session->rtp.jittctl);
            changed_ts=packet_ts+session->rtp.jittctl.corrective_slide;
            rtp->timestamp=changed_ts;
            /*ortp_debug("Returned packet has timestamp %u, with clock slide compensated it is %u",packet_ts,rtp->timestamp);*/
        }


Thank you in advance,
L.
reply via email to

[Prev in Thread] Current Thread [Next in Thread]