This gives additional details about the blocking with the sb16 driver:

Bernard Urban <[EMAIL PROTECTED]> writes:

[...]

> quakeforge with alsa sound output and alsa driver has the time lag
> (nearly 0.5 second).
> quakeforge with OSS sound output and OSS 'sb' driver works well.
> quakeforge with OSS sound output and alsa OSS emulation driver 
> works well, using:
> 
> echo "nq-glx 0 0 direct" > /proc/asound/card0/pcm0p/oss
> 
> but when you quit, the program locks itself (no machine crash, only
> the program is blocked, you need to kill it).
> 
> Using quake2forge (a quake2 port, without alsa support) under alsa
> OSS emulation driver with:
> 
> echo "quake2 0 0 direct" > /proc/asound/card0/pcm0p/oss
> 
> it works also well, but same program lock when quitting as with quakeforge.
> I will try to investigate where it blocks (last message is about DMA
> buffer release).

quake2forge obtains an 'audio_fd' file descriptor by opening
"/dev/dsp". There is a DMA buffer mmaped associated.

At shutdown of the program, the DMA buffer is un-mmaped, and
the following close(audio_fd) blocks. This seems really weird !!! 
A 'close' system call cannot block ???

Actually, doing or not
echo "quake2 0 0 direct" > /proc/asound/card0/pcm0p/oss
makes no difference.

(By Monday, I hope I can send you the results of the CMI8330 patches.)

Regards.

-- 

Bernard Urban


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to