Ci sono tre metodi di temporizzazione in MPlayer.
Per utilizzare il vecchio metodo, non devi
fare nulla. Utilizza usleep()
per gestire la
sincronizzazione A/V, con una precisione di +/- 10ms.
Tuttavia delle volte la sincronizzazione serve che sia ancora più precisa.
Il nuovo codice per la temporizzazione usa
l'RTC (RealTime Clock) per il suo compito, poiché ha timer precisi di 1ms.
L'opzione -rtc lo abilita, ma è richiesto un kernel
adeguatamente preparato.
Se stai utilizzando un kernel 2.4.19pre8 o successivo, puoi impostare
la frequenza massima dell'RTC per gli utenti normali attraverso il
filesystem /proc
. Usa uno dei
comandi seguenti per abilitare l'RTC per gli utenti normali:
echo 1024 > /proc/sys/dev/rtc/max-user-freq
sysctl dev/rtc/max-user-freq=1024
Puoi rendere queste modifiche definitive aggiungendo l'ultimo al file /etc/sysctl.conf.
Puoi verificare l'efficienza del nuovo temporizzatore nella riga di stato. Le funzioni di risparmio energetico dei BIOS di alcuni portatili con CPU speedstep interagiscono male con l'RTC. Audio e video possono perdere di sincronia. Collegare il cavo di alimentazione prima di accendere il portatile pare esser di aiuto. In alcune combinazioni hardware (confermato usando DVD non DMA su una scheda ALi1541) l'utilizzo dell'RTC può portare una riproduzione saltellante. In questi casi si raccomanda di utilizzare il terzo metodo.
Il terzo codice di temporizzazione viene abilitato tramite l'opzione -softsleep. Ha l'efficienza dell'RTC, ma non lo utilizza. D'altro canto, richiede più CPU.