MPlayer - The Movie Player: http://www.mplayerhq.hu | ||
---|---|---|
Előző | Fejezet 1. Bevezetés | Következő |
Három fajta időzítési eljárás van az MPlayerben.
A régi módszer használatához nem kell tenned semmit. Ez az usleep() függvényt használja az A/V szinkronizáláshoz, +/- 10ms-es pontossággal. Van amikor ennél is pontosabb szinkronizálás szükséges.
Az új időzítő kód az RTC-t (RealTime Clock) használja, mert ennek pontos, 1 ms-es időzítői vannak. Automatikusan engedélyezett lesz, ha elérhető, de root jogok vagy setuid root beállítása az MPlayer binárisán vagy megfelelően beállított kernel kell hozzá. Ha 2.4.19pre8 vagy későbbi kernelt használsz, beállíthatod a maximum RTC frekvenciát a sima felhasználóknak a /proc fájlrendszer segítségével. Használd ez a parancsot az RTC normál felhasználók számára történő engedélyezéséhez:
echo 1024 > /proc/sys/dev/rtc/max-user-freqHa nincs ilyen új kerneled, egy sort kell megváltoztatnod a drivers/char/rtc.c fájlban és újrafordítani a kernelt. Keresd meg ezt a részt:
* We don't really want Joe User enabling more * than 64Hz of interrupts on a multi-user machine. */ if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE)))és írd át a 64-et 1024-re! Tudd, hogy mit csinálsz! Az új időzítő eredményét a státusz sorban láthatod. Néhány sebesség-léptetéses (speedstep) CPU-val rendelkező notebook BIOS-ának energia takarékossági funkciói rosszul működnek együtt az RTC-vel. Elromolhat az audió és a videó szinkronizációja. Úgy tűnik, ha bedugod a hálózati csatlakozót, mielőtt bekapcsolnád a notebookot, az segít. Az RTC támogatást bármikor kikapcsolhatod a
-nortc
kapcsolóval.
Néhány hardver összeállításban (ALi1541-es alaplapokkal használt nem DMA-s DVD
meghajtók esetén erősítették meg) az RTC időzítő használata kihagyásokat okoz
lejátszás közben. Ebben az esetben a harmadik módszer használata javasolt.
A harmadik időzítő kód a -softsleep
kapcsolóval kapcsolható be. Az RTC hatékonyságával rendelkezik, de nem használja
azt. Másrészről viszont jobban eszi a procit.
Megjegyzés: SOHA ne telepíts egy setuid root-os MPlayer binárist egy több-felhasználós rendszerben! Azzal bárki simán root lehet.