From owner-freebsd-current Mon Nov 1 2:42:19 1999 Delivered-To: freebsd-current@freebsd.org Received: from titanium.yy.ics.keio.ac.jp (titanium.yy.ics.keio.ac.jp [131.113.47.73]) by hub.freebsd.org (Postfix) with ESMTP id 77BE614A08 for ; Mon, 1 Nov 1999 02:42:16 -0800 (PST) (envelope-from sanpei@sanpei.org) Received: from lavender.yy.cs.keio.ac.jp (u1033.seaple.icc.ne.jp [210.170.9.33]) by titanium.yy.ics.keio.ac.jp (8.9.3+3.2W/3.7W) with ESMTP id TAA21744; Mon, 1 Nov 1999 19:41:48 +0900 (JST) (envelope-from sanpei@sanpei.org) Received: (from sanpei@localhost) by lavender.yy.cs.keio.ac.jp (8.9.3/3.7W) id TAA28726; Mon, 1 Nov 1999 19:41:45 +0900 (JST) Date: Mon, 1 Nov 1999 19:41:45 +0900 (JST) Message-Id: <199911011041.TAA28726@lavender.yy.cs.keio.ac.jp> To: dmmiller@cvzoom.net Cc: rbezuide@oskar.dev.nanoteq.co.za, dfr@nlsystems.com, current@FreeBSD.ORG, sanpei@sanpei.org, fwkg7679@mb.infoweb.ne.jp Subject: Re: ESS sound drivers and 4.0-current In-Reply-To: Your message of "Mon, 1 Nov 1999 19:19:53 JST". From: sanpei@sanpei.org (MIHIRA Yoshiro) X-Mailer: mnews [version 1.21] 1997-12/23(Tue) Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG >> Thanks for the patch; I'll try it. I have the ESS 1868 isa card. The >> problem I'm having isn't really volume problems. When I use RealPlayer >> 5.0, certain realaudio clips play through extremely fast, and I can hear >> the sound in bursts along the way. The speed/sample rate itself doesn't >> increase, but the entire clip whizzes by extremely fast, and I hear >> short bursts of the clip. Maybe the clip isn't being memory mapped >> properly? try below patch for -current which was written by Kurosawa-san . --- sys/dev/pcm/isa/sb.c.org Tue Sep 7 17:42:44 1999 +++ sys/dev/pcm/isa/sb.c Mon Sep 13 23:38:45 1999 @@ -880,9 +880,9 @@ ess_format(struct sb_chinfo *ch, u_int32_t format) { struct sb_info *sb = ch->parent; - int play = (ch->dir == PCMDIR_PLAY)? 1 : 0; - int b16 = (ch->fmt & AFMT_S16_LE)? 1 : 0; - int stereo = (ch->fmt & AFMT_STEREO)? 1 : 0; + int play = (format == PCMDIR_PLAY)? 1 : 0; + int b16 = (format & AFMT_S16_LE)? 1 : 0; + int stereo = (format & AFMT_STEREO)? 1 : 0; u_char c; ch->fmt = format; sb_reset_dsp(sb); --- sys/dev/pcm/dsp.c.orig Sun Sep 5 02:03:59 1999 +++ sys/dev/pcm/dsp.c Mon Sep 13 23:40:10 1999 @@ -54,8 +54,18 @@ if ((d->flags & SD_F_PRIO_SET) == SD_F_PRIO_SET) panic("read and write both prioritised"); if (d->flags & SD_F_SIMPLEX) { +#if 0 *rdch = (d->flags & SD_F_PRIO_RD)? d->arec[chan] : &d->fakechan; *wrch = (d->flags & SD_F_PRIO_WR)? d->aplay[chan] : &d->fakechan; +#else + if (!(d->flags & SD_F_PRIO_SET)) { + *rdch = d->arec[chan]? d->arec[chan] : &d->fakechan; + *wrch = d->aplay[chan]? d->aplay[chan] : &d->fakechan; + } else { + *rdch = (d->flags & SD_F_PRIO_RD)? d->arec[chan] : &d->fakechan; + *wrch = (d->flags & SD_F_PRIO_WR)? d->aplay[chan] : &d->fakechan; + } +#endif } else { *rdch = d->arec[chan]; *wrch = d->aplay[chan]; To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message