]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
add Ross Alexander's fixes for /etc/ntp.audioX
authorSteven Bjork <gnu@wraith.sf.ca.us>
Fri, 5 Mar 2004 20:45:00 +0000 (12:45 -0800)
committerSteven Bjork <gnu@wraith.sf.ca.us>
Fri, 5 Mar 2004 20:45:00 +0000 (12:45 -0800)
bk: 4048e6cc1P3b_do2WNoB5tsCwkqy-A

libntp/audio.c

index 65a60634b5bec3a8b592ed1b3479eb34b22df2a3..3b39ae03165a1e9747d5cfb22df8a716ce1e4865 100644 (file)
@@ -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));