[Freeswitch-users] Choppy sound with PCMU

Kristian Kielhofner kristian.kielhofner at gmail.com
Tue Dec 8 10:30:12 PST 2009


For reference, here is the AstLinux kernel config for the ALIX:

http://astlinux.svn.sourceforge.net/viewvc/astlinux/trunk/target/device/alix/linux.config?view=markup

We've got what I consider to be excellent support for the ALIX - most
of the developers use them and they are very popular in the community.

On Mon, Dec 7, 2009 at 11:00 AM, Anthony Minessale
<anthony.minessale at gmail.com> wrote:
> Did you do each thing alone too to tell the difference?
> -hp alone, disable monotonic alone (i did not see you mention the disable
> monotonic)
>
> as for your 4ms thing, yes we require high resolution timing, if we ask to
> sleep 1000 microseconds that is what we need it to sleep for or at least as
> close as possible, and the main reason that thread is never sleeping is
> because you can't actually count on it to run every 1ms but you mostly can.
> Hence the whole philosophy on only making 1 thread run hot all the time to
> ensure that the rest don't have to repeat the same algorithm.  We focus on
> high end performance this was the point of your experimentation because we
> will need to use a compile time defines and other logic to make it more
> efficient on your platform, a platform which we are not using.  I am curious
> what would happen if you install Kristian's astlinux on one of your devices,
> i think you should also compare the kernel versions.
>
>
> What OS are you running anyway?
>
> Here are some more things to try (running plain trunk with no mods) do these
> systematically each alone and all together with/without -hp or disable
> monotonic etc to see what different combos create
>
> comment out this line (line 10)
> #define DISABLE_1MS_COND
>
> rebuild, this tells it to run a conditional at 1ms in the same timer thread
> which will make all the switch_cond_next share a 1ms conditional instead of
> doing microsleeps
>
> next
>
> some kernels/devices work better using select(0) for sleep where others work
> better using usleep.
> comment out line 109
> apr_sleep(t);
>
> and try
> usleep(t)
>
> also mac works better using nanosleep so you could try changing it so it
> uses the code starting at 101 instead.
>
>
> also your claim about JS should be investigated because I do not think it
> should be the case.
> but you may want to move this to a jira http://jira.freeswitch.org
>
> As for the asterisk comparison,
> not sure how to answer you, that's your decision.
>

-- 
Kristian Kielhofner
http://www.astlinux.org
http://blog.krisk.org
http://www.star2star.com
http://www.submityoursip.com
http://www.voalte.com




More information about the FreeSWITCH-users mailing list