linphone-developers
[Top][All Lists]
Advanced

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

Re: [Linphone-developers] linphone-3.1.0: ortp-error-*** alsa_can_read f


From: Simon Morlat
Subject: Re: [Linphone-developers] linphone-3.1.0: ortp-error-*** alsa_can_read fixup, trying to recover
Date: Fri, 3 Jul 2009 13:48:30 +0200
User-agent: KMail/1.11.4 (Linux/2.6.29-2-amd64; KDE/4.2.4; x86_64; ; )

Le vendredi 3 juillet 2009 10:30:26, Code Warrior a écrit :
> I tried the same setup by disabling all but PCMA codec. I'm getting the
> same results, EPIPE error,though incoming voice works perfectly fine. CPU
> usage is under control.
>
> FYI - I'm using an older version of Linphone ver 1.6.0. Do you think this
> could have an impact ??
Oh YES !
Many bugs have been fixed in alsa support since this time ! I remember this 
code was absolutely unable to recover EPIPE (underruns).
You absolutely need to upgrade !

Simon


>
> On Fri, Jul 3, 2009 at 1:41 PM, Simon Morlat 
<address@hidden>wrote:
> > This confirms the cpu problem, at least for your case.
> > Speex must be compiled with --enable-fixed-point and --enable-arm5e-asm
> > for the
> > performance to be reasonable.
> > By default it compiles as floating point, and as ARM does not have
> > floating point operations, they are emulated in software which leads to
> > poor performance.
> >
> > Simon
> >
> > Le vendredi 3 juillet 2009 09:31:07, Harishkumar V a écrit :
> > > Simon,
> > >
> > > what it takes speex to run on ARM.
> > >
> > > Thanks and Regards,
> > > HarishKumar.V
> > >
> > > On Fri, Jul 3, 2009 at 12:45 PM, Harishkumar V
> >
> > <address@hidden>wrote:
> > > > Simon,
> > > >
> > > > Using PCMU, PCMA and ILBC, it works, with the original code, no
> > > > changes in alsa period and alsa period size.
> > > >
> > > > when i am using speex, it fails with the following message,
> > > >
> > > > ortp-error-snd_pcm_avail_update: Broken pipe
> > > > ortp-error-*** alsa_can_read fixup, trying to recover
> > > > ALSA lib pcm.c:7232:(snd_pcm_recover) overrun occured
> > > > ortp-error-snd_pcm_avail_update: Broken pipe
> > > > ortp-error-*** alsa_can_read fixup, trying to recover
> > > > ALSA lib pcm.c:7232:(snd_pcm_recover) overrun occured
> > > >
> > > >
> > > > whats the difference between speex and other 3 codecs. In lan, the
> > > > quality is good.
> > > > How the quality will be over the internet when using above 3 codecs.
> > > >
> > > > Is it makes any difference using the above 3 codecs without speex.
> > > >
> > > > Thanks and Regards,
> > > > HarishKumar.V
> > > >
> > > > On Fri, Jul 3, 2009 at 12:04 PM, Code Warrior <address@hidden>
> >
> > wrote:
> > > >> CPU utilization is under 3% for Linphone. So that really doesn't
> > > >> seem
> >
> > to
> >
> > > >> be the issue.
> > > >>
> > > >> On Fri, Jul 3, 2009 at 2:19 AM, Simon Morlat
> >
> > <address@hidden>wrote:
> > > >>> Hi,
> > > >>>
> > > >>> Did you try by uncomenting the #define EPIPE_BUGFIX ?
> > > >>> In order to configure codecs, simply edit ~/.linphonerc and set
> > > >>> 'enable=0' in
> > > >>> each codec section (named audio_codec_%i). Only keep pcmu and pcma,
> > > >>> because
> > > >>> they consume very few cpu.
> > > >>> My feeling is that when in call, the cpu consumption causes an
> >
> > overrun
> >
> > > >>> or underrun at the alsa driver level, which cannot be recovered as
> > > >>> it should with
> > > >>> other cards.
> > > >>> When aplay/arecord or mediastream, the cpu consumption is lesser
> > > >>> and the problem does not appear.
> > > >>>
> > > >>> Simon
> > > >>>
> > > >>> Le jeudi 2 juillet 2009 17:15:05, Harishkumar V a écrit :
> > > >>> > Simon,
> > > >>> >
> > > >>> > I debugged bit more, i found this one,
> > > >>> >
> > > >>> >  snd_pcm_avail_update in alsa_can_read function, where it returns
> > > >>> > EPIPE error and snd_pcm_recover also fails during having a call
> > > >>> > between me
> > > >>>
> > > >>> and
> > > >>>
> > > >>> > other over the lan network. but the same snd_pcm_avail_update
> >
> > returns
> >
> > > >>> the
> > > >>>
> > > >>> > available count of samples if i use mediastream as mentioned in
> > > >>>
> > > >>> previous
> > > >>>
> > > >>> > mail and works fine.
> > > >>> >
> > > >>> > I will let u know the codec being used shortly tomorrow, as i
> > > >>> > left for
> > > >>>
> > > >>> the
> > > >>>
> > > >>> > home.
> > > >>> >
> > > >>> > What codec i should use for the better performance for the both
> >
> > A/V.
> >
> > > >>> how to
> > > >>>
> > > >>> > configure it.
> > > >>> >
> > > >>> > Thanks and Regards,
> > > >>> > HarishKumar.V
> > > >>> >
> > > >>> > On Thu, Jul 2, 2009 at 7:06 PM, Simon Morlat
> > > >>>
> > > >>> <address@hidden>wrote:
> > > >>> > > Le jeudi 2 juillet 2009 12:54:33, Harishkumar V a écrit :
> > > >>> > > > Hi Simon,
> > > >>> > > >
> > > >>> > > > when i run "mediastream --local 8000 --remote
> > > >>> > > > 127.0.0.1:8000--payload
> > > >>> > >
> > > >>> > > 0"
> > > >>> > >
> > > >>> > > > locally with the default alsa periods and alsa period size.
> > > >>> > > > its
> > > >>>
> > > >>> fine,
> > > >>>
> > > >>> > > > no probs. i can hear voice recorded being playback.
> > > >>> > > >
> > > >>> > > > When i try to call or somebody calls me, then after answering
> >
> > the
> >
> > > >>> call,
> > > >>>
> > > >>> > > > this error happens, and the voice comes from my ARM platform
> > > >>> > > > to PC,
> > > >>>
> > > >>> but
> > > >>>
> > > >>> > > so
> > > >>> > >
> > > >>> > > > many packet loss, if i speak 10 words, only 2 words arrive at
> >
> > the
> >
> > > >>> other
> > > >>>
> > > >>> > > end
> > > >>> > >
> > > >>> > > > after delay.
> > > >>> > >
> > > >>> > > Seems you are running out of cpu. What codec is used ?
> > > >>> > >
> > > >>> > > Simon
> > > >>> > >
> > > >>> > > > Thanks and Regards,
> > > >>> > > > HarishKumar.V
> > > >>> > > >
> > > >>> > > > On Thu, Jul 2, 2009 at 3:46 PM, Harishkumar V
> > > >>> > >
> > > >>> > > <address@hidden>wrote:
> > > >>> > > > > Hi Simon,
> > > >>> > > > >
> > > >>> > > > > i can able to understand period_size. In what order does
> > > >>>
> > > >>> ALSA_PERIODS
> > > >>>
> > > >>> > > is
> > > >>> > >
> > > >>> > > > > to be incremented, how is co-related with the
> >
> > ALSA_PERIOD_SIZE.
> >
> > > >>> > > > > Thanks and Regards,
> > > >>> > > > > HarishKumar.V
> > > >>> > > > >
> > > >>> > > > > On Thu, Jul 2, 2009 at 1:43 PM, Simon Morlat
> > > >>> > >
> > > >>> > > <address@hidden>wrote:
> > > >>> > > > >> Ok, big problems with the alsa driver.
> > > >>> > > > >> You can relax the stress on the driver by requesting
> > > >>> > > > >> larger
> > > >>>
> > > >>> buffer:
> > > >>> > > > >> see the comments at the head of mediastreamer2/src/alsa.c:
> > > >>> > > > >>
> > > >>> > > > >> /*in case of troubles with a particular driver, try
> > > >>> > > > >> incrementing ALSA_PERIOD_SIZE
> > > >>> > > > >> to 512, 1024, 2048, 4096...
> > > >>> > > > >> then try incrementing the number of periods*/
> > > >>> > > > >> #define ALSA_PERIODS 8
> > > >>> > > > >> #define ALSA_PERIOD_SIZE 256
> > > >>> > > > >>
> > > >>> > > > >> /*uncomment the following line if you have problems with
> > > >>> > > > >> an alsa
> > > >>> > >
> > > >>> > > driver
> > > >>> > >
> > > >>> > > > >> having sound quality trouble:*/
> > > >>> > > > >> /*#define EPIPE_BUGFIX 1*/
> > > >>> > > > >>
> > > >>> > > > >> First try setting ALSA_PERIOD_SIZE to 512 then 1024, then
> > > >>> > > > >> 2048,
> > > >>>
> > > >>> try
> > > >>>
> > > >>> > > > >> incrementing ALSA_PERIODS, then uncomment the #define
> > > >>>
> > > >>> EPIPE_BUGFIX .
> > > >>>
> > > >>> > > > >> Incrementing periods and periodsize also increments the
> > > >>> > > > >> latency
> > > >>>
> > > >>> of
> > > >>>
> > > >>> > > > >> the system,
> > > >>> > > > >> ie the delay for voice to be captured and playback.
> > > >>> > > > >>
> > > >>> > > > >> Simon
> > > >>> > > > >>
> > > >>> > > > >> Le jeudi 2 juillet 2009 09:46:36, Harishkumar V a écrit :
> > > >>> > > > >> > hi,
> > > >>> > > > >> >
> > > >>> > > > >> > I am running linphone-3.1.0 on my ARM platform. i am
> >
> > facing
> >
> > > >>> this
> > > >>>
> > > >>> > > > >> problem's,
> > > >>> > > > >>
> > > >>> > > > >> > when i execute linphonec.
> > > >>> > > > >> >
> > > >>> > > > >> > #linphonec
> > > >>> > > > >> >
> > > >>> > > > >> > Ready
> > > >>> > > > >> > Warning: video is disabled in linphonec, use -V or -C or
> >
> > -D
> >
> > > >>> > > > >> > to
> > > >>> > >
> > > >>> > > enable.
> > > >>> > >
> > > >>> > > > >> > linphonec> <sip:address@hidden <address@hidden>
> > > >>> > > > >> > <
> >
> > address@hidden <address@hidden>> <
> >
> > > >>> address@hidden <address@hidden> <
> >
> > address@hidden <address@hidden>>> <
> >
> > > >>> > > address@hidden <address@hidden> <
> >
> > address@hidden <address@hidden>> <
> >
> > > >>> address@hidden <address@hidden> <
> >
> > address@hidden <address@hidden>>>> <
> >
> > > >>> > > > >> address@hidden <address@hidden> <
> >
> > address@hidden <address@hidden>> <
> >
> > > >>> address@hidden <address@hidden> <
> >
> > address@hidden <address@hidden>>> <
> >
> > > >>> > > address@hidden <address@hidden> <
> >
> > address@hidden <address@hidden>> <
> >
> > > >>> address@hidden <address@hidden> <
> >
> > address@hidden <address@hidden>>>>>> is
> >
> > > >>> contacting you.
> > > >>>
> > > >>> > > > >> > linphonec> answer
> > > >>> > > > >> > Connected.
> > > >>> > > > >> > linphonec> linphonec> ortp-error-snd_pcm_avail_update:
> > > >>> > > > >> > Broken
> > > >>>
> > > >>> pipe
> > > >>>
> > > >>> > > > >> > ortp-error-*** alsa_can_read fixup, trying to recover
> > > >>> > > > >> > ALSA lib pcm.c:7232:(snd_pcm_recover) overrun occured
> > > >>> > > > >> > ortp-error-snd_pcm_avail_update: Broken pipe
> > > >>> > > > >> > ortp-error-*** alsa_can_read fixup, trying to recover
> > > >>> > > > >> > ALSA lib pcm.c:7232:(snd_pcm_recover) overrun occured
> > > >>> > > > >> > ortp-error-snd_pcm_avail_update: Broken pipe
> > > >>> > > > >> > ortp-error-*** alsa_can_read fixup, trying to recover
> > > >>> > > > >> > ALSA lib pcm.c:7232:(snd_pcm_recover) overrun occured
> > > >>> > > > >> > ortp-error-snd_pcm_avail_update: Broken pipe
> > > >>> > > > >> > ortp-error-*** alsa_can_read fixup, trying to recover
> > > >>> > > > >> > ALSA lib pcm.c:7232:(snd_pcm_recover) overrun occured
> > > >>> > > > >> > ortp-error-snd_pcm_avail_update: Broken pipe
> > > >>> > > > >> > ortp-error-*** alsa_can_read fixup, trying to recover
> > > >>> > > > >> > ALSA lib pcm.c:7232:(snd_pcm_recover) overrun occured
> > > >>> > > > >> > ortp-error-snd_pcm_avail_update: Broken pipe
> > > >>> > > > >> >
> > > >>> > > > >> > Any pointers to solve this would be helpful.
> > > >>> > > > >> >
> > > >>> > > > >> > Thanks and Regards,
> > > >>> > > > >> > HarishKumar.V
> > > >>>
> > > >>> _______________________________________________
> > > >>> Linphone-developers mailing list
> > > >>> address@hidden
> > > >>> http://lists.nongnu.org/mailman/listinfo/linphone-developers





reply via email to

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