On Wednesday 20 August 2008 12:23:39 Hannu Savolainen wrote:
> 
> I took a quick look at pulseaudio (module-oss.c). There are few obvious 
> errors:
> 
> - If the trigger() function gets called with quick==true then it will 
> fail for sure. It will not start recording.

A modified pulseaudio still fails. Attached is a more complete strace output 
(earlier I didn't have strace follow forks). The 29395 file is where it tries 
to play.

> - Calling SNDCTL_DSP_HALT in the place it's called now is an error. It 
> will prevent SNDCTL_DSP_SETTRIGGER from working even when quick==false.

This isn't compiled by default on Linux, since its <soundcard.h> doesn't have 
HALT.

> - The call to SNDCTL_DSP_POST is bogus. It may or may not cause troubles.
> - Below that the "/* Some crappy drivers do not start... */ is wrong. 
> Instead of calling read() it should do SNDCTL_DSP_SETTRIGGER(0) and 
> SNDCTL_DSP_SETTRIGGER(PCM_ENABLE_INPUT). This should be done even when 
> quick==true.

That's the non-mmap path which currently works.

Yours,
        Yair K.

Attachment: strace.tar.gz
Description: application/tgz

_______________________________________________
oss-devel mailing list
oss-devel@mailman.opensound.com
http://mailman.opensound.com/mailman/listinfo/oss-devel

Reply via email to