From owner-freebsd-multimedia@FreeBSD.ORG Wed Sep 14 12:56:42 2005 Return-Path: X-Original-To: freebsd-multimedia@freebsd.org Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8644016A41F; Wed, 14 Sep 2005 12:56:42 +0000 (GMT) (envelope-from skywizard@MyBSD.org.my) Received: from tomoyo.MyBSD.org.my (tomoyo.mybsd.org.my [202.157.186.227]) by mx1.FreeBSD.org (Postfix) with ESMTP id ED79D43D45; Wed, 14 Sep 2005 12:56:41 +0000 (GMT) (envelope-from skywizard@MyBSD.org.my) Received: from localhost (localhost [127.0.0.1]) by tomoyo.MyBSD.org.my (Postfix) with ESMTP id E069C6CC27; Wed, 14 Sep 2005 21:04:43 +0800 (MYT) Received: from tomoyo.MyBSD.org.my ([127.0.0.1]) by localhost (tomoyo.MyBSD.org.my [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 59857-02; Wed, 14 Sep 2005 21:04:41 +0800 (MYT) Received: from kasumi.MyBSD.org.my (unknown [218.111.181.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tomoyo.MyBSD.org.my (Postfix) with ESMTP id 656A86CC26; Wed, 14 Sep 2005 21:04:40 +0800 (MYT) Date: Wed, 14 Sep 2005 20:57:22 +0800 From: Ariff Abdullah To: Michael Nottebrock Message-Id: <20050914205722.017ff911.skywizard@MyBSD.org.my> In-Reply-To: <200509141440.41530.lofi@freebsd.org> References: <20050913075835.5f055747.skywizard@MyBSD.org.my> <200509141241.22914.lofi@freebsd.org> <20050914201600.383df2ce.skywizard@MyBSD.org.my> <200509141440.41530.lofi@freebsd.org> Organization: MyBSD X-Mailer: /usr/local/lib/ruby/1.8/net/smtp.rb Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Wed__14_Sep_2005_20_57_22_+0800_Y9p=P0re.Qxvs+09" X-Virus-Scanned: by amavisd-new-antivirus-mail-gateway at TOMOYO.MYBSD.ORG.MY Cc: freebsd-multimedia@freebsd.org Subject: Re: As promised: Soft volume mixer controller X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2005 12:56:42 -0000 This is a multi-part message in MIME format. --Multipart=_Wed__14_Sep_2005_20_57_22_+0800_Y9p=P0re.Qxvs+09 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Wed, 14 Sep 2005 14:40:39 +0200 Michael Nottebrock wrote: > On Wednesday, 14. September 2005 14:16, Ariff Abdullah wrote: > > > It has always been the case. It's not a bug (depend on bug > > definition): dsp0.0 = hardware channel > > dsp0.1 = master / parent channel (feeder_mix_s16) > > dsp0.2,3,4,5 = virtual channel > > Oy. Good to know, that. > > > Ok, back to our real problem. Can you uncomment / restore back > > ac97_fix_volume(codec); , and apply this: > > Can you please resend that as a proper attachment? Fiddling diffs out > of a mail body is painful enough as it is, but this one also has > wrapped lines ... > Ok. -- Ariff Abdullah MyBSD http://www.MyBSD.org.my (IPv6/IPv4) http://staff.MyBSD.org.my (IPv6/IPv4) http://tomoyo.MyBSD.org.my (IPv6/IPv4) --Multipart=_Wed__14_Sep_2005_20_57_22_+0800_Y9p=P0re.Qxvs+09 Content-Type: text/plain; name="channel.c.diff" Content-Disposition: attachment; filename="channel.c.diff" Content-Transfer-Encoding: quoted-printable --- sys/dev/sound/pcm/channel.c.orig Wed Sep 14 19:47:43 2005 +++ sys/dev/sound/pcm/channel.c Wed Sep 14 19:48:04 2005 @@ -884,6 +884,7 @@ chn_lockdestroy(c); =20 return ret; +#if 0 } else if (c->direction =3D=3D PCMDIR_PLAY && c->parentsnddev && (c->parentsnddev->flags & SD_F_SOFTVOL) && c->parentsnddev->mixer_dev) { @@ -899,6 +900,7 @@ CHN_LOCK(c); chn_setvolume(c, vol & 0x7f, (vol >> 8) & 0x7f); CHN_UNLOCK(c); +#endif } =20 return 0; @@ -1331,7 +1333,8 @@ c->feederflags &=3D ~(1 << FEEDER_VOLUME); if (c->direction =3D=3D PCMDIR_PLAY && !(c->flags & (CHN_F_VIRTUAL|CHN_F_HAS_SLAVE)) && - c->parentsnddev && (c->parentsnddev->flags & SD_F_SOFTVOL)) + c->parentsnddev && (c->parentsnddev->flags & SD_F_SOFTVOL) && + c->parentsnddev->mixer_dev) c->feederflags |=3D 1 << FEEDER_VOLUME; flags =3D c->feederflags; fmtlist =3D chn_getcaps(c)->fmtlist; @@ -1396,6 +1399,17 @@ } =20 sndbuf_setfmt(c->bufhard, hwfmt); + + if ((flags & (1 << FEEDER_VOLUME))) { + int vol =3D 100 | (100 << 8); + + CHN_UNLOCK(c); + if (mixer_ioctl(c->parentsnddev->mixer_dev, + MIXER_READ(SOUND_MIXER_PCM), (caddr_t)&vol, -1, NULL) !=3D 0) + device_printf(c->dev, "Soft Volume: Failed to read default value\n"); + CHN_LOCK(c); + chn_setvolume(c, vol & 0x7f, (vol >> 8) & 0x7f); + } =20 return 0; } --Multipart=_Wed__14_Sep_2005_20_57_22_+0800_Y9p=P0re.Qxvs+09--