Date: Sun, 23 Nov 2008 20:19:35 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r185230 - head/sys/dev/sound/pci/hda Message-ID: <200811232019.mANKJZRh063240@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mav Date: Sun Nov 23 20:19:35 2008 New Revision: 185230 URL: http://svn.freebsd.org/changeset/base/185230 Log: Do not use soft PCM volume for digital outputs to allow SPDIF AC3 bypass to work. Soft PCM volume (and vchans) unable to bypass AC3 stream now. Modified: head/sys/dev/sound/pci/hda/hdac.c Modified: head/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdac.c Sun Nov 23 20:17:17 2008 (r185229) +++ head/sys/dev/sound/pci/hda/hdac.c Sun Nov 23 20:19:35 2008 (r185230) @@ -83,7 +83,7 @@ #include "mixer_if.h" -#define HDA_DRV_TEST_REV "20081122_0117" +#define HDA_DRV_TEST_REV "20081123_0118" SND_DECLARE_FILE("$FreeBSD$"); @@ -3549,8 +3549,8 @@ hdac_audio_ctl_ossmixer_init(struct snd_ } } - /* Declare soft PCM and master volume if needed. */ - if (pdevinfo->play >= 0) { + /* Declare soft PCM volume if needed. */ + if (pdevinfo->play >= 0 && !pdevinfo->digital) { ctl = NULL; if ((mask & SOUND_MASK_PCM) == 0 || (devinfo->function.audio.quirks & HDA_QUIRK_SOFTPCMVOL)) { @@ -3580,8 +3580,12 @@ hdac_audio_ctl_ossmixer_init(struct snd_ (softpcmvol == 1) ? "Forcing" : "Enabling"); ); } + } - if ((mask & SOUND_MASK_VOLUME) == 0) { + /* Declare master volume if needed. */ + if (pdevinfo->play >= 0) { + if ((mask & (SOUND_MASK_VOLUME | SOUND_MASK_PCM)) == + SOUND_MASK_PCM) { mask |= SOUND_MASK_VOLUME; mix_setparentchild(m, SOUND_MIXER_VOLUME, SOUND_MASK_PCM);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811232019.mANKJZRh063240>