From owner-freebsd-bugs Sun Oct 17 8:10: 5 1999 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 9700014CB9 for ; Sun, 17 Oct 1999 08:10:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id IAA20681; Sun, 17 Oct 1999 08:10:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from skalman.campus.luth.se (skalman.campus.luth.se [130.240.197.52]) by hub.freebsd.org (Postfix) with ESMTP id 45CCC14A03 for ; Sun, 17 Oct 1999 08:01:40 -0700 (PDT) (envelope-from pantzer@skalman.campus.luth.se) Received: (from pantzer@localhost) by skalman.campus.luth.se (8.9.3/8.8.8) id RAA00509; Sun, 17 Oct 1999 17:01:39 +0200 (CEST) (envelope-from pantzer) Message-Id: <199910171501.RAA00509@skalman.campus.luth.se> Date: Sun, 17 Oct 1999 17:01:39 +0200 (CEST) From: pantzer@ludd.luth.se Reply-To: pantzer@ludd.luth.se To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: i386/14372: The audio ioctl SNDCTL_DSP_SETFMT affects the stereo setting Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 14372 >Category: i386 >Synopsis: The audio ioctl SNDCTL_DSP_SETFMT affects the stereo setting >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Oct 17 08:10:01 PDT 1999 >Closed-Date: >Last-Modified: >Originator: Mattias Pantzare >Release: FreeBSD 4.0-CURRENT i386 >Organization: >Environment: FreeBSD-current from 991017. Soundcad supported by pcm. >Description: splay plays mp3 at low speed. The problem is that it tries to set stereo but gets mono. SNDCTL_DSP_SETFMT now resets the AFMT_STERO bit. This was not the case in earlier kernels (from 990901 for example) >How-To-Repeat: Run splay. >Fix: Index: dsp.c =================================================================== RCS file: /host/queeg.ludd/FreeBSD-mirror/anoncvs/cvs//src/sys/dev/pcm/dsp.c,v retrieving revision 1.5 diff -c -r1.5 dsp.c *** dsp.c 1999/09/28 21:43:35 1.5 --- dsp.c 1999/10/17 14:58:18 *************** *** 387,395 **** case SNDCTL_DSP_SETFMT: /* sets _one_ format */ splx(s); ! if (wrch) chn_setformat(wrch, *arg_i); ! if (rdch) chn_setformat(rdch, *arg_i); ! *arg_i = wrch? wrch->format : rdch->format; break; case SNDCTL_DSP_SUBDIVIDE: --- 387,395 ---- case SNDCTL_DSP_SETFMT: /* sets _one_ format */ splx(s); ! if (wrch) chn_setformat(wrch, (*arg_i) | (wrch->format & AFMT_STEREO)); ! if (rdch) chn_setformat(rdch, (*arg_i) | (rdch->format & AFMT_STEREO)); ! *arg_i = wrch? (wrch->format & ~AFMT_STEREO) : (rdch->format & ~AFMT_STEREO); break; case SNDCTL_DSP_SUBDIVIDE: >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message