Istnieją trzy metody synchronizacji w MPlayerze.
Żeby skorzystać ze starej metody, nie musisz
robić nic. Używa ona usleep()
, aby poprawnie
zsynchronizować A/V z dokładnością +/- 10ms. Czasami jednak synchronizacja
musi być jeszcze dokładniejsza.
Kod nowego zegara korzysta do tego celu
z RTC (RealTime Clock), ponieważ jest on dokładny co do 1ms.
Włącza się go opcją
-rtc, ale wymaga odpowiednio skonfigurowanego jądra.
Jeżeli korzystasz z jądra w wersji 2.4.19pre8 lub późniejszej, wystarczy, że
ustawisz maksymalną częstotliwość RTC dla zwykłego użytkownika przez
system plików /proc
.
Użyj jednego z następujących poleceń, aby pozwolić na korzystanie z RTC
zwykłym użytkownikom:
echo 1024 > /proc/sys/dev/rtc/max-user-freq
sysctl dev/rtc/max-user-freq=1024
Możesz uczynić tę zmianę trwałą dodając ten drugi wiersz do /etc/sysctl.conf.
Możesz zobaczyć wydajność nowego synchronizatora w wierszu stanu. Zarządzanie energią w BIOSach niektórych notebooków z procesorami w technologii speedstep nie współgra z RTC. Dźwięk i obraz mogą być niezsynchronizowane. Podłączenie zewnętrznego źródła energii przed włączeniem notebooka wydaje się pomagać. W niektórych zestawieniach sprzętowych (sprawdzone przy używaniu DVD bez obsługi DMA na płycie ALi1541) korzystanie z RTC wywołuje skokowe odtwarzanie. Zaleca się skorzystanie w tych przypadkach z trzeciej metody.
Trzeci kod zegara włączany jest opcją -softsleep. Ma dokładność RTC, ale z niego nie korzysta. Wymaga jednak większej mocy obliczeniowej procesora.