From: Steven Bjork Date: Fri, 5 Mar 2004 20:45:00 +0000 (-0800) Subject: add Ross Alexander's fixes for /etc/ntp.audioX X-Git-Tag: NTP_4_2_3~180 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=06a03248ceae4eabd18580bdd64e30334ba8cc4c;p=thirdparty%2Fntp.git add Ross Alexander's fixes for /etc/ntp.audioX bk: 4048e6cc1P3b_do2WNoB5tsCwkqy-A --- diff --git a/libntp/audio.c b/libntp/audio.c index 65a60634b5..3b39ae0316 100644 --- a/libntp/audio.c +++ b/libntp/audio.c @@ -238,9 +238,9 @@ audio_init( audio_config_read(unit, &actl, &dname); /* If we have values for cf_c_dev or cf_i_dev, use them. */ if (*cf_c_dev) - dname = cf_c_dev; + actl = cf_c_dev; if (*cf_i_dev) - actl = cf_i_dev; + dname = cf_i_dev; #endif /* @@ -304,7 +304,7 @@ audio_init( if (*cf_agc) { int i; - i = mixer_name(cf_agc, recmask); + i = mixer_name(cf_agc, devmask); if (i >= 0) agc = MIXER_WRITE(i); else @@ -372,11 +372,14 @@ audio_gain( r = 0 ; /* setting to zero nicely mutes the channel */ l |= r << 8; - if (port == 2) { - rval = ioctl(ctl_fd, SOUND_MIXER_WRITE_LINE, &l); - } else { - rval = ioctl(ctl_fd, SOUND_MIXER_WRITE_MIC, &l); - } + if ( cf_agc ) + rval = ioctl(ctl_fd, agc, &l); + else + if (port == 2) { + rval = ioctl(ctl_fd, SOUND_MIXER_WRITE_LINE, &l); + } else { + rval = ioctl(ctl_fd, SOUND_MIXER_WRITE_MIC, &l); + } if (rval == -1) { printf("audio_gain: agc write: %s\n", strerror(errno)); return (rval); @@ -389,7 +392,10 @@ audio_gain( printf("audio_gain: mongain %d/%d\n", mongain, l); # endif l |= r << 8; - rval = ioctl(ctl_fd, SOUND_MIXER_WRITE_VOLUME, &l); + if ( cf_monitor ) + rval = ioctl(ctl_fd, monitor, &l ); + else + rval = ioctl(ctl_fd, SOUND_MIXER_WRITE_VOLUME, &l); if (rval == -1) { printf("audio_gain: mongain write: %s\n", strerror(errno));