Désolé pour le temps de replis.

Laurent: Alors j'ai retesté mon programme et, par exemple, avec le fichier son lepidoptera.ogg, je confirme, à la lecture j'ai un son de mauvaise qualité avec des grésillements légers.

A chaque boucle du programme je vérifie si un des buffers est vide est je le rerempli.
Pour ça j'utilise FFmpeg. Pour chaque buffer vide j'appelais une fonction DecodeFrame qui décode une frame du fichier son d'une taille, en général, de 4096 (pour lepidoptera.ogg) sans varier très souvent pendant la lecture.(Mais un peu quand même)
Et ce n'est pas de la variation des tailles la cause du grésillement, enfin du moins je crois.

Ça c'était avant. Pour régler le problème, maintenant j'utilise une taille pour chaque buffer de un quart de seconde, cette taille est calculée selon le format des donnés qui vont remplire le tampon. Et cette taille est bloc aligné.
(En faite c'est évident puisque sinon un code d'erreur est retourné, donc ma question premiere n'a pas de sens ).

Donc quand je décode une frame un tableau de 4096 byte est retourné et si j'ai plus de donné pour remplir mon tampon que nécéssaire je garde les donnés en mémoire et je les utilises au prochain remplissage d'un tampon, sinon je continu a décoder les frames jusqu'à atteindre la taille désiré.

Par contre je sais pas si c'est le même problème que toi ou si ca vient de FFmpeg ou de mon code. Car ça me ne le faisait pas avec tout les formats de fichier. Sans doute qu'ils ne retournent pas la meme taille de donnés a chaque frame.

Mongaulois
: Qui ça ? Je suis sur windows
C'est quoi tu appelles les voix? Ce sont celles des personnages dans la vidéo ou les sources sonores avec un seul canal?