Forum Linux.embarqué Problème décodage audio Linphone sur i.MX6

Posté par . Licence CC by-sa.
Tags : aucun
1
8
fév.
2018

Bonjour,

Je suis confronté à un problème de mise en oeuvre de linphone sur une plateforme embarquée i.MX6.
Linphone est un client SIP qui permet d'établir une conversation audio VoIP au travers d'un serveur SIP, dans mon cas Asterisk.
Le flux audio passe par un port UDP.

Mon problème se situe sur la qualité du flux audio qui sort du haut parleur.
Celui-ci se dégrade de façon périodique (pendant 5 secondes toute les 30 secondes environ), en se dégradant progressivement puis retrouve sa qualité d'origine de façon progressive également.
Lorsque le son est dégradé, celui-ci est saccadé.

Linphone utilise sa propre librairie "mediastreamer2" afin d'effectuer le décodage audio. Le flux audio est de type PCM 8 bits 8000Hz (G.711).
J'ai pu identifier que le soucis se situe entre mediastreamer2 et ALSA (je n'ai aucun problème lors de lecture PCM avec Gstreamer et ALSA).
Le problème ne provient pas non plus de la communication UDP car linphone est capable d'enregistrer la conversation dans un fichier WAV sans aucun soucis.
J'ai fais également toute une série de test de surcharge du CPU (stress) et du réseau (iperf), cela n'influe pas sur le résultat audio.

Le driver qui pose problème est celui-ci :

https://github.com/BelledonneCommunications/mediastreamer2/blob/master/src/audiofilters/alsa.c

Je pense que ce driver se comporte plus ou moins bien selon la plateforme utilisée.
J'ai l'impression du fait de la périodicité de la dégradation qu'il y aurait une mauvaise base de temps qui empêcherait un échantillonnage correct.

Qu'en pensez-vous ? Quelles seraient les pistes pour avancer sur ce problème ?

CPU Quad ARM CortexTM-A9 800MHz.
buildroot 2016.05
linux version 4.1.15
linaro GCC 5.3-2016.05
linphone 3.6.1
mediastreame2 2.12.1

  • # rapport de bug au developpeur de mediastreamer2

    Posté par . Évalué à 4.

    Qu'en pensez-vous ? Quelles seraient les pistes pour avancer sur ce problème ?

    que l'analyse est pertinente,
    qu'un rapport de bug fait à l'equipe de mediastreamer2 pourrait etre un bon depart,
    peut-etre aussi à l'equipe de linphone qui corrige peut-etre les sources de mediastreamer pour leur besoin, puis remonte le correctif upstream.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.