|
From: | Vadim Lebedev |
Subject: | Re: [Linphone-developers] oRTP jitter control problem on BlackFin 537-stamp |
Date: | Fri, 09 Nov 2007 12:04:37 +0100 |
User-agent: | Thunderbird 1.5.0.14pre (X11/20071023) |
Glenn Hessler wrote:
I am trying to get jitter control to work on the receive side of a Linphone call, and am experiencing some strange behavior. When I increase the jitter compensation value(linphonerc), it causes underrun conditions in the sound driver(alsa). I have found that the larger the jitter compensation value, the longer the duration of the underrun condition. I have documented this below. I am running on an ADI BlackFin 537-Stamp board, running Linphone 1.6.0 on uClinux 2.6.22.10. By printing the timeofday before each write, I have found the following: 1. When audio_jitt_comp != 0, the delays that cause the xrun condition are directly related to the value of audio_jitt_comp. If audio_jitt_comp=100, every so often there is a 100ms delay between writes from Linphone to alsa. When this occurs the driver reports it is in xrun condition. If audio_jitt_comp=200, the delays causing xrun are 200ms. etc.. 2. When audio_jitt_comp == 0, every so (less)often there is a ~60ms delay between writes from Linphone to alsa. When this occurs the driver reports it is in xrun condition. Obviously, the Linphone jitter control is not working as intended when the value is non-zero. Jitter buffering should smooth any jitter, not make it worse. When jitter is 0, the xrun may be a delay up through the stack and the Linphone. I have confirmed these results running linphonec and mediastream applications. With the following printf's in alsa.c: //---------------------------------------------------------------------- static int mycount=0; static int alsa_write(snd_pcm_t *handle,unsigned char *buf,int nsamples) { Glenn, these symptoms are a result of complex interplay fo alsa fragment size and jitter buffer size. I've found it that one way to avoid problem is start initial plaback only when you have at least 2 fragments filled Vadim
|
[Prev in Thread] | Current Thread | [Next in Thread] |