paulhsu / csipsimple

Automatically exported from code.google.com/p/csipsimple
1 stars 1 forks source link

Disturbing audio delay #2000

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Make a call to or answer a call from another local phone 
2. Speak to csipsimple and hear the result in the other phone speaker. Estimate 
the delay.
3. Speak to the other phone mic and hear the result in csipsimple speaker. 
Estimate the delay.

What is the expected output? 

Delay in 2. and 3. should be below 0,3s for a confortable call

What do you see instead?

Delay in 2. is approximately 0.4s and delay in 3. is approximately 0.7s.

What version of the product are you using? On what operating system?

Latest csipsimple on 2.3.

Please provide any additional information below.

I have a sony Xperia U.

Strangely, with sipdroid, this delay is shorter : almost unnoticeable for test 
2. and approximately 0.3s for test 3.

But sipdroid has some shortcomings : the most important is an incompatibility 
with OVH provider when calling another OVH account. I would really love using 
csipsimple but this delay issue is really problematic.

Despite this issue, I would like to congratulate and to thank the devs for this 
great open source app. If I can help fixing this issue, feel free to ask me for 
tests, experiments, adjustments...

Jacques

Original issue reported on code.google.com by jacques....@gmail.com on 27 Sep 2012 at 9:37

GoogleCodeExporter commented 9 years ago
Hi, 
Audio latency may depends on :
 * Codec finally selected for the communication (check using the info button while in call which one were chosen and if needed change codec priorities in codecs list).
This is the first thing to check before all other points below. If you don't 
compare with same codec, useless to do any comparison with other apps. As far 
as I understood you use pxbes.org which is a media gateway in case of sipdroid 
use so codecs selected could be different.

 * CPU cycles needed to compute audio frames. You can reduce clock rate to 8kHz for example in media settings. It will produce less perceived quality but will require less resampling. The audio frame ptime and audio quality expert settings could also impact.
 * Android audio tweak settings. There is a lot of modes you can use android audio layer. Some are more optimized for some devices. See : http://code.google.com/p/csipsimple/wiki/FAQ?wl=en#Audio_routing_troubleshooting
 * The audio device implementation. Two are supported by CSipSimple. The legacy java one, and the opensl-es one. 2.3 device are compatible with opensl-es which is more performant but not enabled by default because not supported well by all manufacturer on 2.3. (It is on 3.x and 4.x so for these version it's by default on opensl-es). To switch to opensl-es see previous point instructions and choose as "audio implementation" option opensl-es.

Global remark about delay. If you are in same room, obviously it will be 
annoying. It's much less in real world case. That's why by default the settings 
of the apps are to keep something below second but have better quality.

Original comment by r3gis...@gmail.com on 27 Sep 2012 at 8:29

GoogleCodeExporter commented 9 years ago
Hi,

Many thanks for this detailed feedback.

I finally managed to switch to "Expert mode" and I activated opensl-es. This 
reduced drastically the delay both for the outgoing and ingoing stream. The 
incoming stream delay is still a little bit longer than the outgoing but now it 
is quite unnoticeable in the conversation and I think lower than with Sipdroid.

So for the Xperia U with the 2.3 system, opensl-es can be safely enabled.

Merci pour cette superbe app !
Cordialement,
Jacques

Original comment by jacques....@gmail.com on 28 Sep 2012 at 7:59

GoogleCodeExporter commented 9 years ago
Ok. C'est une info très intéressante de savoir que OpenSL-ES marche sur le 
Xperia U.
Est-ce que tu pourrais me récupérer des logs 
(https://code.google.com/p/csipsimple/wiki/HowToCollectLogs?wl=en)?
Comme ça j'aurai l'identifiant du model tel que le téléphone le voit (c'est 
souvent different du nom commercial). Et je pourrais automatiquement activer 
l'openSL-ES sur ce téléphone quand c'est detecté à la première 
configuration/mise à jour.
Merci d'avance.

Original comment by r3gis...@gmail.com on 28 Sep 2012 at 8:07

GoogleCodeExporter commented 9 years ago
Voici le résultat du log :

Based on GPL application CSipSimple version : 0.04-04 r1916
Here are important informations about Device : 
android.os.Build.BOARD : montblanc
android.os.Build.BRAND : SEMC
android.os.Build.DEVICE : ST25i
android.os.Build.ID : 6.0.B.3.184
android.os.Build.MODEL : ST25i
android.os.Build.PRODUCT : ST25i_1262-1120
android.os.Build.TAGS : release-keys
android.os.Build.CPU_ABI : armeabi-v7a
android.os.Build.VERSION.INCREMENTAL : R7P_zw
android.os.Build.VERSION.RELEASE : 2.3.7
android.os.Build.VERSION.SDK_INT : 10

Original comment by jacques....@gmail.com on 28 Sep 2012 at 11:14

GoogleCodeExporter commented 9 years ago

Original comment by r3gis...@gmail.com on 28 Sep 2012 at 9:34

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r1935.

Original comment by r3gis...@gmail.com on 28 Sep 2012 at 9:35