Date: Thu, 12 Nov 1998 01:03:53 +0900 (JST) From: sanpei@sanpei.org (MIHIRA Yoshiro) To: dmm125@bellatlantic.net Cc: deischen@iworks.interworks.org, freebsd-questions@FreeBSD.ORG, hardware@FreeBSD.ORG Subject: Re: ESS 1868 Message-ID: <199811111603.BAA09545@lavender.yy.cs.keio.ac.jp> In-Reply-To: Your message of "Thu, 22 Oct 1998 06:55:40 JST". <362E585B.8314E1F7@bellatlantic.net>
next in thread | previous in thread | raw e-mail | index | archive | help
dmm125@bellatlantic.net wrote >> Daniel M. Eischen wrote: >> >> > > Anybody tried the pcm driver with the ESS 1868 sound card? The sound >> > > only comes out of the left channel. Both speakers are working, but with >> > > the Luigi sound code, sound only comes out of the left speaker. With >> > > the voxware driver, both speakers work. Maybe a problem with full/half >> > > duplex? >> > >> > The voxware driver works fine for the ESS1868 in my laptop, but with >> > the PCM driver, I get a horrendous feedback sound and it doesn't >> > work well at all. I haven't had a chance to pick through the >> > code and see what the differences are between PCM and Voxware >> > ESS1868 support. >> > >> > DE >> >> I just tried it, and I get lots of distortion with real-video files (they >> STILL don't have RealPlayer 5.0 for FreeBSD yet). But simple stuff plays >> well, like >> >> cat sound.au > /dev/audio ## comes out left channel only. I find out problem. It is quick hack patch for FreeBSD-2.2.7-RELEASE and ESS chipset(or other chips??). This function is from VoxWare code (sb_mixer.c). But it was changed.... I think that code is need to calcurate correctly. I will contact Luigi and solve this problem. ---- Yoshiro MIHIRA --- sound.c.org Thu Oct 22 09:59:31 1998 +++ sound.c Thu Nov 12 00:56:26 1998 @@ -1351,7 +1351,12 @@ mask = (1 << (*t)[dev][chn].nbits) - 1; newval = (int) ((newval * mask) + 50) / 100; /* Scale it */ +#define ESS_VOLUME_HACK +#ifdef ESS_VOLUME_HACK + shift = (*t)[dev][chn].bitoffs - (*t)[dev][LEFT_CHN].nbits + 1; +#else shift = (*t)[dev][chn].bitoffs /*- (*t)[dev][LEFT_CHN].nbits + 1*/; +#endif *regval &= ~(mask << shift); /* Filter out the previous value */ *regval |= (newval & mask) << shift; /* Set the new value */ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811111603.BAA09545>