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>
