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 10:11:01 +0200
User-agent: KMail/1.11.4 (Linux/2.6.29-2-amd64; KDE/4.2.4; x86_64; ; )

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>>>>> 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]