Re: [Linphone-developers] MediaStreamer/Alsa misconfiguration on an Imx6
From:
Ерохин Андрей
Subject:
Re: [Linphone-developers] MediaStreamer/Alsa misconfiguration on an Imx6 based product
Date:
Thu, 08 Feb 2018 13:26:29 +0300
Hello Thomas!
I can see from attached logs that you are already using low rate codec and, as you mentioned, no "alsa_can_read fixup" message appears either. So this is not what I was talking about and I can not provide much help to you.
But this repeated message looks suspicious:
ortp-message-sound/wall clock skew is average=302.626768 ms
This value constantly increases throughout the log, and it looks like the soundcard is producing/consuming samples too slow? Or at least makes mediastreamer thinks so.
In later case you may try to uncomment
//#define THREADED_VERSION
in the beginning of alsa.c, looks like timing correction will not be performed by mediastreamer in this case.
In former case the problem may be in platform driver.
Thanks for sharing your experience. The idea is excellent, we had a
look yesturday afternoon at all the things you talked about. I
tried I can't see the linphone/alsa message *** alsa_can_read
fixup, trying to recover.
I tried increasing ALSA_PERIOD_SIZE to 1024 and let the ALSA_PERIODS
to 8, the result is a little bit better but still echoed somtimes
(16' ok | 19' echo/not ok | 2"2' ok | 15' echo/not ok...) Here is
the record of the call (made with a poor mic, sorry) :
https://vocaroo.com/i/s17pCQ9Y2LWS
I attached the timestamped logs, you can have a look around
[08/02/18 - 09:39:57:048], it corresponds to 16' of call where the
first audio problem occurs.
Again thanks for your help !
Thomas.
Le 07/02/2018 à 13:53, Ерохин Андрей a
écrit :
Hello sir!
I was working with linphone on iMX6 using kernel 3.0.35,
codec was aic32. This is probably not 1to1 your case, but just
in case:
Sometimes IRQ latency in that kernel was about 200ms which
caused mediastreamer to reset aic32 time after time. Do you see
messages like following in linphone output?
*** alsa_can_read fixup, trying to recover
It may be caused by IRQ latency. There's not much ways to
workaround this in mediastreamer. Try using low sampleraterate
codecs or increasing ALSA_PERIOD_SIZE even more. Or do it on
system level if you have root access: change CPU affinity of
linphone and sDMA IRQ (in case when your I2S driver uses sDMA),
move them away from CPU0.