On Thu, 2004-02-26 at 19:38, Jaroslav Kysela wrote:
> On Thu, 26 Feb 2004, Michel DÃnzer wrote:
> 
> > The problem occurs when the ALSA_OSS_WRAPPER environment variable isn't
> > set. initialize() returns early, so the public functions segfault when
> > they try to dereference the uninitialized fds.
> > 
> > Is there a reason why ALSA_OSS_WRAPPER must be set? Even if so, I think
> > it should cope more gracefully otherwise. :)
> 
> No reason. I ommited to remove this hack when I separated the wrapper 
> code from the API emulation code. You can remove the lines without any 
> side effect.

Okay, thanks.

Unfortunately, bzflag now fails doing 

ioctl(5, SNDCTL_DSP_SETFRAGMENT, 0x7ffff308[4000c])

even with the attached patch, which used to be enough to get it working.
Adam's ('small and cosmetic'??? :) patch doesn't help either.

Luckily, bzflag is switching to SDL...


-- 
Earthling Michel DÃnzer      |     Debian (powerpc), X and DRI developer
Libre software enthusiast    |   http://svcs.affero.net/rm.php?r=daenzer
? build-arch-stamp
? debian
? local.diff
Index: alsa/pcm.c
===================================================================
RCS file: /cvsroot/alsa/alsa-oss/alsa/pcm.c,v
retrieving revision 1.9
diff -p -u -r1.9 pcm.c
--- alsa/pcm.c	26 Feb 2004 15:31:46 -0000	1.9
+++ alsa/pcm.c	27 Feb 2004 12:13:33 -0000
@@ -261,7 +261,9 @@ static int oss_dsp_hw_params(oss_dsp_t *
 			if (err < 0)
 				return err;
 			if (dsp->maxfrags > 0) {
-				unsigned int periods_max = dsp->maxfrags;
+				unsigned int periods_max = periods_min > dsp->maxfrags
+							 ? periods_min
+							 : dsp->maxfrags;
 				err = snd_pcm_hw_params_set_periods_max(pcm, hw,
 									&periods_max, 0);
 				if (err < 0)

Reply via email to