Re: [Alsa-devel] double buffer xruns

2001-11-21 Thread Paul Davis
I am wanting to know wether there is some way I can get rid of these 1ms XRuns ? if they are not caused by your application's design (i haven't looked at it closely), then the answer is no, at least not without: 1) running it SCHED_FIFO, with mlockall() called 2) running a low-latency

Re: [Alsa-devel] double buffer xruns

2001-11-21 Thread Paul Davis
I am wanting to know wether there is some way I can get rid of these 1ms XRuns ? do note, hwoever, that it could easily be your application desing that is the problem. this: while ((frameCount=dd-audio.readAudio()) dd-audio.active){ int written; written=snd_pcm_writei(dd-pcm,

Re: [Alsa-devel] double buffer xruns

2001-11-21 Thread Paul Davis
i suspect that you may not be writing chunks of the correct size to the PCM device. by delaying for 1000msecs when you have no idea what sorry, i was forgetting what snd_pcm_wait() did. even so, this is still a design that could cause problems, i think. --p

[Alsa-devel] MMAP mode

2001-11-21 Thread James Courtier-Dutton
Hello I use ac3dec which comes with alsa as a very nice example on how to program the alsa-lib for PCM out. Is there a similar program showing how to use MMAP output ? I would like to update the xine media player to use MMAP. Cheers James -- Nothing in this world is exactly what it appears to

Re: [Alsa-devel] Restarting when in async mode

2001-11-21 Thread Tom Browne
let me reiterate: you cannot safely call functions in alsa-lib from the SIGIO handler, because alsa lib makes repeated calls to functions that are not async safe. i also do not know the extent to which linux POSIX compliance ensures that even those functions that are supposed to async safe

Re: [Alsa-devel] Restarting when in async mode

2001-11-21 Thread Paul Davis
Well, it doesn't seem to be completely okay... I occasionally get the error Initial write error: broken pipe and it just shuts down (well, it actually just hangs because the incallback mutex is never cleared - I need a timeout in there) the callback if things get too much for the poor thing to