diff options
author | arpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-06-03 20:53:27 +0000 |
---|---|---|
committer | arpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-06-03 20:53:27 +0000 |
commit | f29f00d665b91ad2c22d5ed65741d2c10eb8b051 (patch) | |
tree | 93c024305c15ba3098bcb801983c41a7bddbe416 /DOCS | |
parent | 13b845cb2fd734d7e5ad9d851bab5d6089d4a3ad (diff) | |
download | mpv-f29f00d665b91ad2c22d5ed65741d2c10eb8b051.tar.bz2 mpv-f29f00d665b91ad2c22d5ed65741d2c10eb8b051.tar.xz |
Gabucino oruljel :)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@972 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS')
-rw-r--r-- | DOCS/tech/tech-hun.txt | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/DOCS/tech/tech-hun.txt b/DOCS/tech/tech-hun.txt index 6a6f0d8efb..2af4283498 100644 --- a/DOCS/tech/tech-hun.txt +++ b/DOCS/tech/tech-hun.txt @@ -243,5 +243,47 @@ na nezzuk tovabb: flip_page(): ez meghivodik minden frame utan, ez kell tenylegesen megjelenitse a buffert. double buffering eseten ez lesz a 'swapbuffers'. +6. libao2: ez vezerli a hang lejatszast + A libvo-hoz (lasd 5.) hasonloan itt is kulonbozo driverek vannak, amik + egy kozos API-t (interface) valositanak meg: + +static int control(int cmd,int arg); + Ez egy altalanos celu fuggveny, a driverfuggo es egyeb specialis parameterek + olvasasara/beallitasara. Egyelore nem nagyon hasznalt. + +static int init(int rate,int channels,int format,int flags); + Driver initje, ilyenkor kell megnyitni a devicet, beallitani samplerate, + channels, sample format parametereket. + Sample format: altalaban AFMT_S16_LE vagy AFMT_U8, tovabbi definiciokert + lasd. dec_audio.c ill. linux/soundcard.h fileok! + +static void uninit(); + talald ki. + na jo, segitek: lezarja a devicet, kilepeskor (meg nem) hivodik meg. + +static void reset(); + reseteli a devicet. egesz pontosan a bufferek torlesere szolgal, + tehat hogy a reset() utan mar ne szoljon tovabb az amit elotte kapott. + (pause ill. seek eseten hivodik meg) + +static int get_space(); + vissza kell adja hogy hany byte irhato az audio bufferbe anelkul hogy + blockolna (varakoztatna a hivo processt). amennyiben a buffer (majdnem) + tele van, 0-t kell visszaadni! + ha sosem ad vissza 0-at akkor nem fog mukodni az MPlayer! + +static int play(void* data,int len,int flags); + lejatszik egy adag hangot, amit a data cimu memoriateruleten kap, es len + a merete. a flags meg nem hasznalt. az adatokat at kell masolnia, mert a + hivas utan felulirodhatnak! nem kell feltetlen minden byetot felhasznalni, + hanem azt kell visszaadnia mennyit hasznalt fel (masolt a bufferbe). + +static int get_delay(); + vissza kell adja hogy hany byte varakozik az audio bufferben. lehetoleg + minel pontosabban, mert ettol fugg az egesz idozites! + legrosszabb esetben adja vissza a buffer meretet. + +!!! Mivel a kep a hanghoz (hangkartyahoz) van szinkronizalva, igy nagyon +!!! fontos hogy a get-space ill. get_delay fuggvenyek korrektul legyenek megirva! |