From f29f00d665b91ad2c22d5ed65741d2c10eb8b051 Mon Sep 17 00:00:00 2001 From: arpi_esp Date: Sun, 3 Jun 2001 20:53:27 +0000 Subject: Gabucino oruljel :) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@972 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/tech/tech-hun.txt | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'DOCS') 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! -- cgit v1.2.3