/dev/dsp buffer beállítása

Fórumok

Sziasztok!

Van egy kis problémám... egy hanglejátszó programocskát készítek, mely - ebben a pillanatban még csak - beolvas egy wav file-t, beállítja a /dev/dsp-t ioctl segítségével, majd rálöki a nyers hangot.
Ezzel nincs semmi problémám, a gondom a hangkártya buffer beállításánál van, ugyanis a hangkari kb 3 mp-nyi hanganyagot elbufferel, ami azt jelenti, hogy a lejátszás után még 3 mp-ig zenél a drága...
Tud abban nekem valaki segíteni, hogy c alatt hogyan lehet beállítani egy file bufferelését?

Előre is köszi

S81

Hozzászólások

Van valami indokod hogy OSS-t hasznalj? (kb. 2004 ota obsolate a Linuxban)
amugy a bufferre lehetsz hatassal pl. a SNDCTL_DSP_SETFRAGMENT-el.

A nativ OSS 64k DMA buffert hasznal amugy, de te valoszinuleg az ALSA OSS emulaciojat hasznalod. Ott pedig nagy valoszinuseg szerint nem nagyon szolhatsz bele errol az oldalrol az buffer meretbe :-(...

Zsiraf

p.s.: nem sok koze van a file buffereleshez :-)
p.s.: www.alsa-project.org

> Van valami indokod hogy OSS-t hasznalj? (kb. 2004 ota obsolate a Linuxban)

Esetleg azert jo, mert igy egy normalisan megirt program meg elmukodik jo nehany egyeb oprendszer alatt is. Az ALSA pedig gyakorlatilag Linux-only (viszont az altalad is emlegetett OSS-emulacioval 2 legyet ut egy csapasra.)

Hát OSS (kompatibilis?) van Solarisra, *BSD-re. És akár az is elképzelhető, hogy pl. aki kompatibilitásra is ad, az akár az IOCTL-eket is implementálja. Speciel mintha FreeBSD-n lenne jó pár IOCTL az OSS-hez.
(Ha már - miért is ennyire _fontos_, hogy Linuxra legyen? Miért baj az, ha megy máson is?)