From 35e6a54a31ab8af57a4509a1c273c95e5b78d5f9 Mon Sep 17 00:00:00 2001 From: Seigo Tanimura Date: Sun, 7 Nov 1999 04:15:30 +0000 Subject: [PATCH] Conserve stereo mode in ioctl SNDCTL_DSP_SETFMT. PR: 14372 Submitted by: Mattias Pantzare , Ville-Pertti Keinonen --- sys/dev/pcm/dsp.c | 6 +++--- sys/dev/sound/pcm/dsp.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/dev/pcm/dsp.c b/sys/dev/pcm/dsp.c index 74a0202cf942..df8185c928aa 100644 --- a/sys/dev/pcm/dsp.c +++ b/sys/dev/pcm/dsp.c @@ -387,9 +387,9 @@ dsp_ioctl(snddev_info *d, int chan, u_long cmd, caddr_t arg) 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; + 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: rdch->format) & ~AFMT_STEREO; break; case SNDCTL_DSP_SUBDIVIDE: diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index 74a0202cf942..df8185c928aa 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -387,9 +387,9 @@ dsp_ioctl(snddev_info *d, int chan, u_long cmd, caddr_t arg) 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; + 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: rdch->format) & ~AFMT_STEREO; break; case SNDCTL_DSP_SUBDIVIDE: