From owner-freebsd-current Sat Sep 25 2:58:26 1999 Delivered-To: freebsd-current@freebsd.org Received: from Wit389306.student.utwente.nl (wit389306.student.utwente.nl [130.89.234.166]) by hub.freebsd.org (Postfix) with ESMTP id 8D9FD14E81 for ; Sat, 25 Sep 1999 02:58:22 -0700 (PDT) (envelope-from djb@Wit389306.student.utwente.nl) Received: (from djb@localhost) by Wit389306.student.utwente.nl (8.9.3/8.9.3) id LAA54399; Sat, 25 Sep 1999 11:58:33 +0200 (CEST) (envelope-from djb) Date: Sat, 25 Sep 1999 11:58:33 +0200 From: "Dave J. Boers" To: morganw@engr.sc.edu Cc: freebsd-current@freebsd.org Subject: Re: pcm oddity Message-ID: <19990925115833.A54296@relativity.student.utwente.nl> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre2i In-Reply-To: Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Fri, Sep 24, 1999 at 11:52:26PM -0400, Wes Morgan wrote: > I noticed a little quirk in the pcm driver -- it is reversing the channels > in my sb16! The first couple times I play a certain mp3 that starts out > (normally) in the left channel, it plays correctly in the left channel. > Then suddenly it will switch, and start out in the right channel. > My kernel is -current as of late sept 22. Can anyone else duplicate this? Hi, I can reproduce your findings. I run regular buildworld every few days. I have been having this problem for at least two weeks (and possibly before, I have been away for a few months and was stuck with Irix). An easy way to reproduce the problem is to start x11amp and hit play several times. I also found several other "quirks" in the pcm driver while I was programming: 1. If I read() from /dev/dsp in 16 bits single channel mode, I get rubbish even if the mic and igain mixers are set to zero. If I read some 8 bits single channel data just before you read the 16 bits data, the problem disappears. Seems to be an initialization problem. 2. Reading large blocks from /dev/dsp (like 8192 bytes), generates a kernel panic (uiomove failed). Cutting down the blocksize to 256 bytes appears to solve the problem. Maybe something overflowing or a timing problem. 3. If I change the mixer setttings using ioctl() calls for /dev/dsp, then the settings for /dev/mixer do not change accordingly. I have an original Sb16 PnP. I am running smp for dual celeron on an Abit mainboard. Maybe someone wants to look into this, as I don't have any device driver programming experience (and little time to learn also). Best wishes, Dave. -- Dave J. Boers djb@relativity.student.utwente.nl I will *NOT* read email sent to Graduate student of Theoretical Physics d.j.boers@student.utwente.nl To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message