On Thu, 2006-11-02 at 20:58 +0100, Jens M Andreasen wrote:
On Thu, 2006-11-02 at 10:33 +0100, lemmel wrote:
Lots of people have been wondering, but this is the meat I think:
> > and even randomly truncated,
The difference in behaviour /might/ arise from differences in philosophy
of closing the device at end of file. Should we shut up now! Or wait
untill the buffer is empty ... The buffer could be incredibly huge, not
least because Linux-audio traditionally do not have RT capabilities, so
waiting for that has the potential to be very annoying. OTOH, our man is
not getting his signal through (which is also annoying )
very good point, the relevant call here is "snd_pcm_drain()". ALSA
allows you to close the device immediately (i.e. when you call
snd_pcm_close()), or when all data sent to the device has been played.
OSS doesn't provide an automatic way to select these behaviours, and I
recall from memory that you always get the second one.
which of these behaviours is correct is a very app-dependent issue.