Il y a trois méthodes de synchro dans MPlayer.
usleep()
pour régler la
synchro A/V, avec une précision de +/- 10ms. Cependant parfois la synchro doit être
réglée encore plus finement.
Le nouveau code de synchro utilise la RTC
(Real Time Clock) du PC pour cette tâche, car elle possède des timers précis à 1ms près.
Utilisez l'option -rtc pour l'activer. Notez qu'un noyau correctement
configuré est requis. Si vous executez une version du noyau supérieure ou égale à 2.4.19pre8,
vous pouvez ajuster la fréquence maximale (de la RTC) accessible aux utilisateurs normaux grace au système
de fichiers /proc
. Pour ceci, les commandes suivantes sont à
votre disposition :
echo 1024 > /proc/sys/dev/rtc/max-user-freq
ou
sysctl dev/rtc/max-user-freq=1024
Vous pouvez rendre ce réglagle permanant en ajoutant la seconde commande au fichier /etc/sysctl.conf.
Vous pouvez voir l'efficacité du nouveau timer sur la ligne d'état. Les fonctions de gestion de l'énergie des BIOS des certains portables avec des processeurs supportant SpeedStep ne font pas bon ménage avec la RTC. Le son et les images risquent d'être désynchronisés. Brancher le portable sur le secteur avant de le démarrer semble régler le problème dans la plupart des cas. Avec certaines configurations matérielles (confirmé par l'utilisation de lecteurs DVD ne supportant pas le DMA avec une carte-mère basée sur le chipset ALi1541), l'utilisation du timer RTC rend la lecture irrégulière (NdT: skippy). Il est recommandé d'utiliser la troisième méthode dans ce cas.
La troisième méthode de synchro est activée par l'option -softsleep. Elle a la précision de la RTC, mais n'utilise pas la RTC. D'un autre côté, elle nécessite plus de CPU.