Date: Sun, 12 Nov 2000 18:23:07 +0000 (GMT) From: Andrew Gordon <arg@arg1.demon.co.uk> To: Cameron Grant <gandalf@vilnya.demon.co.uk> Cc: j mckitrick <jcm@FreeBSD-uk.eu.org>, stable@freebsd.org, multimedia@freebsd.org Subject: RE: continuing sound problems with 4.2-beta Message-ID: <Pine.BSF.4.21.0011121754060.11961-100000@server.arg.sj.co.uk> In-Reply-To: <BDEAILDCDDOFPBENNGFKMEBBCAAA.gandalf@vilnya.demon.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 10 Nov 2000, Cameron Grant wrote: > > I ran into this the other day; it appears that there has been a change in > > the sound API recently such that you need to do SNDCTL_DSP_SPEED before > > SNDCTL_DSP_SETFMT. I haven't had time to dig into CVS to see when this > > happened or why. > > this is a bug that i cannot replicate. can you give me more info on your > hardware? pcm0: <VIA VT82C686A AC'97 Audio> port 0xe400-0xe403,0xe000-0xe003,0xdc00-0xdcff irq 10 at device 7.5 on pci0 FreeBSD Audio Driver (newpcm) Nov 12 2000 01:08:07 Installed devices: pcm0: <VIA VT82C686A AC'97 Audio> at io 0xdc00 irq 10 (1p/1r channels duplex) This is now running with -stable from yesterday. However, I think the real problem relates to the AC'97 codec rather than the VIA chipset - this codec only supports one speed (44KHz). I have now traced the problem some way into the driver. The DSP_SETFMT call never gets as far as the hardware specific driver - it calls chn_setformat(), which then calls chn_buildfeeder(), which returns EINVAL from around line 1430: for (type = FEEDER_RATE; type <= FEEDER_LAST; type++) { if (flags & (1 << type)) { desc.type = type; desc.in = 0; desc.out = 0; desc.flags = 0; DEB(printf("find feeder type %d, ", type)); f = feeder_get(&desc); DEB(printf("got %p\n", f)); if (f == NULL) return EINVAL; To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0011121754060.11961-100000>