CVS commit: [netbsd-9] src/usr.bin/audiocfg
Module Name:src Committed By: martin Date: Sun Sep 29 07:34:10 UTC 2019 Modified Files: src/usr.bin/audiocfg [netbsd-9]: audiodev.c dtmf.c main.c Log Message: Pull up following revision(s) (requested by isaki in ticket #267): usr.bin/audiocfg/dtmf.c: revision 1.4 usr.bin/audiocfg/main.c: revision 1.14 (via patch) usr.bin/audiocfg/audiodev.c: revision 1.12 Use err(3)/warn(3) instead of perror(3)/fprintf(stderr,...). Use getprogname(3) for usage(). To generate a diff of this commit: cvs rdiff -u -r1.7.2.1 -r1.7.2.2 src/usr.bin/audiocfg/audiodev.c cvs rdiff -u -r1.3 -r1.3.28.1 src/usr.bin/audiocfg/dtmf.c cvs rdiff -u -r1.8.2.2 -r1.8.2.3 src/usr.bin/audiocfg/main.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-9] src/usr.bin/audiocfg
Module Name:src Committed By: martin Date: Sun Sep 29 07:34:10 UTC 2019 Modified Files: src/usr.bin/audiocfg [netbsd-9]: audiodev.c dtmf.c main.c Log Message: Pull up following revision(s) (requested by isaki in ticket #267): usr.bin/audiocfg/dtmf.c: revision 1.4 usr.bin/audiocfg/main.c: revision 1.14 (via patch) usr.bin/audiocfg/audiodev.c: revision 1.12 Use err(3)/warn(3) instead of perror(3)/fprintf(stderr,...). Use getprogname(3) for usage(). To generate a diff of this commit: cvs rdiff -u -r1.7.2.1 -r1.7.2.2 src/usr.bin/audiocfg/audiodev.c cvs rdiff -u -r1.3 -r1.3.28.1 src/usr.bin/audiocfg/dtmf.c cvs rdiff -u -r1.8.2.2 -r1.8.2.3 src/usr.bin/audiocfg/main.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/audiocfg/audiodev.c diff -u src/usr.bin/audiocfg/audiodev.c:1.7.2.1 src/usr.bin/audiocfg/audiodev.c:1.7.2.2 --- src/usr.bin/audiocfg/audiodev.c:1.7.2.1 Sat Sep 28 07:41:18 2019 +++ src/usr.bin/audiocfg/audiodev.c Sun Sep 29 07:34:09 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: audiodev.c,v 1.7.2.1 2019/09/28 07:41:18 martin Exp $ */ +/* $NetBSD: audiodev.c,v 1.7.2.2 2019/09/29 07:34:09 martin Exp $ */ /* * Copyright (c) 2010 Jared D. McNeill @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -155,7 +156,7 @@ audiodev_refresh(void) fd = open(DRVCTLDEV, O_RDONLY); if (fd == -1) { - perror("open " DRVCTLDEV); + warn("open %s", DRVCTLDEV); return -1; } @@ -169,7 +170,7 @@ audiodev_refresh(void) error = drvctl_foreach(fd, "audio", audiodev_cb, NULL); if (error == -1) { - perror("drvctl"); + warnx("drvctl failed"); return -1; } @@ -230,19 +231,19 @@ audiodev_set_default(struct audiodev *ad unlink(_PATH_MIXER); if (symlink(audiopath, _PATH_AUDIO) == -1) { - perror("symlink " _PATH_AUDIO); + warn("symlink %s", _PATH_AUDIO); return -1; } if (symlink(soundpath, _PATH_SOUND) == -1) { - perror("symlink " _PATH_SOUND); + warn("symlink %s", _PATH_SOUND); return -1; } if (symlink(audioctlpath, _PATH_AUDIOCTL) == -1) { - perror("symlink " _PATH_AUDIOCTL); + warn("symlink %s", _PATH_AUDIOCTL); return -1; } if (symlink(mixerpath, _PATH_MIXER) == -1) { - perror("symlink " _PATH_MIXER); + warn("symlink %s", _PATH_MIXER); return -1; } @@ -265,8 +266,7 @@ audiodev_set_param(struct audiodev *adev break; } if (enc >= encoding_max) { - fprintf(stderr, "unknown encoding name: %s\n", encname); - errno = EINVAL; + warnx("unknown encoding name: %s", encname); return -1; } @@ -294,7 +294,7 @@ audiodev_set_param(struct audiodev *adev printf("setting %s to %s:%u, %uch, %uHz\n", adev->xname, encname, prec, ch, freq); if (ioctl(adev->ctlfd, AUDIO_SETFORMAT, ) == -1) { - perror("ioctl AUDIO_SETFORMAT"); + warn("ioctl AUDIO_SETFORMAT"); return -1; } return 0; @@ -311,7 +311,7 @@ audiodev_test(struct audiodev *adev) adev->fd = open(adev->path, O_WRONLY); if (adev->fd == -1) { - perror("open"); + warn("open %s", adev->path); return -1; } @@ -322,11 +322,11 @@ audiodev_test(struct audiodev *adev) info.play.encoding = AUDIO_ENCODING_SLINEAR_LE; info.mode = AUMODE_PLAY; if (ioctl(adev->fd, AUDIO_SETINFO, ) == -1) { - perror("ioctl AUDIO_SETINFO"); + warn("ioctl AUDIO_SETINFO"); goto done; } if (ioctl(adev->fd, AUDIO_GETINFO, ) == -1) { - perror("ioctl AUDIO_GETINFO"); + warn("ioctl AUDIO_GETINFO"); goto done; } @@ -371,7 +371,7 @@ audiodev_test_chmask(struct audiodev *ad wlen = buflen; ret = write(adev->fd, (char *)buf + off, wlen); if (ret == -1) { - perror("write"); + warn("write"); goto done; } wlen = ret; @@ -380,7 +380,7 @@ audiodev_test_chmask(struct audiodev *ad } if (ioctl(adev->fd, AUDIO_DRAIN) == -1) { - perror("ioctl AUDIO_DRAIN"); + warn("ioctl AUDIO_DRAIN"); goto done; } Index: src/usr.bin/audiocfg/dtmf.c diff -u src/usr.bin/audiocfg/dtmf.c:1.3 src/usr.bin/audiocfg/dtmf.c:1.3.28.1 --- src/usr.bin/audiocfg/dtmf.c:1.3 Sun Aug 11 06:31:00 2013 +++ src/usr.bin/audiocfg/dtmf.c Sun Sep 29 07:34:09 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: dtmf.c,v 1.3 2013/08/11 06:31:00 dholland Exp $ */ +/* $NetBSD: dtmf.c,v 1.3.28.1 2019/09/29 07:34:09 martin Exp $ */ /* * Copyright (c) 2010 Jared D. McNeill @@ -28,6 +28,7 @@ #include +#include #include #include #include @@ -70,7 +71,7 @@ dtmf_new(int16_t **buf, size_t *buflen, *buflen = sample_rate * sizeof(int16_t) * sample_length * channels; *buf = calloc(1, *buflen); if (*buf == NULL) { - perror("calloc"); + warn("calloc"); return; } Index: src/usr.bin/audiocfg/main.c diff -u src/usr.bin/audiocfg/main.c:1.8.2.2 src/usr.bin/audiocfg/main.c:1.8.2.3 --- src/usr.bin/audiocfg/main.c:1.8.2.2 Sat Sep 28 07:41:18 2019 +++ src/usr.bin/audiocfg/main.c Sun Sep 29 07:34:09 2019 @@ -1,4 +1,4 @@ -/* $NetBSD:
CVS commit: [netbsd-9] src/usr.bin/audiocfg
Module Name:src Committed By: martin Date: Sat Sep 28 07:41:18 UTC 2019 Modified Files: src/usr.bin/audiocfg [netbsd-9]: audiodev.c audiodev.h main.c Log Message: Pull up following revision(s) (requested by isaki in ticket #262): usr.bin/audiocfg/main.c: revision 1.10 usr.bin/audiocfg/main.c: revision 1.11 usr.bin/audiocfg/audiodev.c: revision 1.8 usr.bin/audiocfg/audiodev.h: revision 1.6 usr.bin/audiocfg/audiodev.c: revision 1.9 usr.bin/audiocfg/audiodev.h: revision 1.7 Rename some members in adev for clarity. No functional changes intended. Revert to use single descriptor for "audiocfg test" as before. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.7.2.1 src/usr.bin/audiocfg/audiodev.c cvs rdiff -u -r1.5 -r1.5.2.1 src/usr.bin/audiocfg/audiodev.h cvs rdiff -u -r1.8.2.1 -r1.8.2.2 src/usr.bin/audiocfg/main.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-9] src/usr.bin/audiocfg
Module Name:src Committed By: martin Date: Sat Sep 28 07:41:18 UTC 2019 Modified Files: src/usr.bin/audiocfg [netbsd-9]: audiodev.c audiodev.h main.c Log Message: Pull up following revision(s) (requested by isaki in ticket #262): usr.bin/audiocfg/main.c: revision 1.10 usr.bin/audiocfg/main.c: revision 1.11 usr.bin/audiocfg/audiodev.c: revision 1.8 usr.bin/audiocfg/audiodev.h: revision 1.6 usr.bin/audiocfg/audiodev.c: revision 1.9 usr.bin/audiocfg/audiodev.h: revision 1.7 Rename some members in adev for clarity. No functional changes intended. Revert to use single descriptor for "audiocfg test" as before. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.7.2.1 src/usr.bin/audiocfg/audiodev.c cvs rdiff -u -r1.5 -r1.5.2.1 src/usr.bin/audiocfg/audiodev.h cvs rdiff -u -r1.8.2.1 -r1.8.2.2 src/usr.bin/audiocfg/main.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/audiocfg/audiodev.c diff -u src/usr.bin/audiocfg/audiodev.c:1.7 src/usr.bin/audiocfg/audiodev.c:1.7.2.1 --- src/usr.bin/audiocfg/audiodev.c:1.7 Wed May 8 14:36:12 2019 +++ src/usr.bin/audiocfg/audiodev.c Sat Sep 28 07:41:18 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: audiodev.c,v 1.7 2019/05/08 14:36:12 isaki Exp $ */ +/* $NetBSD: audiodev.c,v 1.7.2.1 2019/09/28 07:41:18 martin Exp $ */ /* * Copyright (c) 2010 Jared D. McNeill @@ -43,6 +43,9 @@ #include "drvctl.h" #include "dtmf.h" +static int audiodev_test_chmask(struct audiodev *, unsigned int, + audio_info_t *); + static TAILQ_HEAD(audiodevhead, audiodev) audiodevlist = TAILQ_HEAD_INITIALIZER(audiodevlist); @@ -63,26 +66,26 @@ audiodev_getinfo(struct audiodev *adev) if (stat(_PATH_AUDIOCTL, ) != -1 && st.st_rdev == adev->dev) adev->defaultdev = true; - adev->fd = open(adev->ctlpath, O_RDONLY); - if (adev->fd == -1) { + adev->ctlfd = open(adev->ctlpath, O_RDONLY); + if (adev->ctlfd == -1) { return -1; } - if (ioctl(adev->fd, AUDIO_GETDEV, >audio_device) == -1) { - close(adev->fd); + if (ioctl(adev->ctlfd, AUDIO_GETDEV, >audio_device) == -1) { + close(adev->ctlfd); return -1; } for (i = 0; ;i++) { memset(, 0, sizeof(query)); query.index = i; - if (ioctl(adev->fd, AUDIO_QUERYFORMAT, ) == -1) { + if (ioctl(adev->ctlfd, AUDIO_QUERYFORMAT, ) == -1) { if (errno == ENODEV) { /* QUERYFORMAT not supported. */ break; } if (errno == EINVAL) break; - close(adev->fd); + close(adev->ctlfd); return -1; } @@ -91,8 +94,8 @@ audiodev_getinfo(struct audiodev *adev) TAILQ_INSERT_TAIL(>formats, f, next); } - if (ioctl(adev->fd, AUDIO_GETFORMAT, >info) == -1) { - close(adev->fd); + if (ioctl(adev->ctlfd, AUDIO_GETFORMAT, >hwinfo) == -1) { + close(adev->ctlfd); return -1; } @@ -158,8 +161,8 @@ audiodev_refresh(void) while (!TAILQ_EMPTY()) { adev = TAILQ_FIRST(); - if (adev->fd != -1) - close(adev->fd); + if (adev->ctlfd != -1) + close(adev->ctlfd); TAILQ_REMOVE(, adev, next); free(adev); } @@ -250,12 +253,12 @@ int audiodev_set_param(struct audiodev *adev, int mode, const char *encname, unsigned int prec, unsigned int ch, unsigned int freq) { - struct audio_info ai; + audio_info_t ai; int setmode; u_int enc; setmode = 0; - ai = adev->info; + ai = adev->hwinfo; for (enc = 0; enc < encoding_max; enc++) { if (strcmp(encname, encoding_names[enc]) == 0) @@ -290,7 +293,7 @@ audiodev_set_param(struct audiodev *adev ai.mode = setmode; printf("setting %s to %s:%u, %uch, %uHz\n", adev->xname, encname, prec, ch, freq); - if (ioctl(adev->fd, AUDIO_SETFORMAT, ) == -1) { + if (ioctl(adev->ctlfd, AUDIO_SETFORMAT, ) == -1) { perror("ioctl AUDIO_SETFORMAT"); return -1; } @@ -298,40 +301,64 @@ audiodev_set_param(struct audiodev *adev } int -audiodev_test(struct audiodev *adev, unsigned int chanmask) +audiodev_test(struct audiodev *adev) { audio_info_t info; - int16_t *buf; - size_t buflen; - off_t off; - int fd; - int rv = -1; + unsigned int i; + int rv; - fd = open(adev->path, O_WRONLY); - if (fd == -1) { + rv = -1; + + adev->fd = open(adev->path, O_WRONLY); + if (adev->fd == -1) { perror("open"); return -1; } AUDIO_INITINFO(); info.play.sample_rate = AUDIODEV_SAMPLE_RATE; - info.play.channels = adev->info.play.channels; + info.play.channels = adev->hwinfo.play.channels; info.play.precision = 16; info.play.encoding = AUDIO_ENCODING_SLINEAR_LE; info.mode = AUMODE_PLAY; - if (ioctl(fd, AUDIO_SETINFO, ) == -1) { + if (ioctl(adev->fd, AUDIO_SETINFO, ) == -1) { perror("ioctl AUDIO_SETINFO"); - goto abort; + goto done; } - if (ioctl(fd, AUDIO_GETINFO, ) == -1) { + if (ioctl(adev->fd, AUDIO_GETINFO, ) == -1) { perror("ioctl AUDIO_GETINFO"); - goto abort; + goto done; } - dtmf_new(, , info.play.sample_rate, 2, - adev->info.play.channels, chanmask, 350.0, 440.0);
CVS commit: [netbsd-9] src/usr.bin/audiocfg
Module Name:src Committed By: martin Date: Sat Sep 28 07:34:50 UTC 2019 Modified Files: src/usr.bin/audiocfg [netbsd-9]: audiocfg.1 Log Message: Pull up following revision(s) (requested by isaki in ticket #261): usr.bin/audiocfg/audiocfg.1: revision 1.6 Fix markup. index of list command is optional. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.5.2.1 src/usr.bin/audiocfg/audiocfg.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-9] src/usr.bin/audiocfg
Module Name:src Committed By: martin Date: Sat Sep 28 07:34:50 UTC 2019 Modified Files: src/usr.bin/audiocfg [netbsd-9]: audiocfg.1 Log Message: Pull up following revision(s) (requested by isaki in ticket #261): usr.bin/audiocfg/audiocfg.1: revision 1.6 Fix markup. index of list command is optional. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.5.2.1 src/usr.bin/audiocfg/audiocfg.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/audiocfg/audiocfg.1 diff -u src/usr.bin/audiocfg/audiocfg.1:1.5 src/usr.bin/audiocfg/audiocfg.1:1.5.2.1 --- src/usr.bin/audiocfg/audiocfg.1:1.5 Thu May 9 09:34:58 2019 +++ src/usr.bin/audiocfg/audiocfg.1 Sat Sep 28 07:34:50 2019 @@ -1,4 +1,4 @@ -.\" $NetBSD: audiocfg.1,v 1.5 2019/05/09 09:34:58 wiz Exp $ +.\" $NetBSD: audiocfg.1,v 1.5.2.1 2019/09/28 07:34:50 martin Exp $ .\" .\" Copyright (c) 2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -36,6 +36,7 @@ .Sh SYNOPSIS .Nm .Cm list +.Op Ar index .Nm .Cm default .Ar index
CVS commit: [netbsd-9] src/usr.bin/audiocfg
Module Name:src Committed By: martin Date: Sat Sep 28 07:25:53 UTC 2019 Modified Files: src/usr.bin/audiocfg [netbsd-9]: main.c Log Message: Pull up following revision(s) (requested by isaki in ticket #258): usr.bin/audiocfg/main.c: revision 1.9 Fix assertion of "audiocfg list " when n is an illegal index. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.8.2.1 src/usr.bin/audiocfg/main.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/audiocfg/main.c diff -u src/usr.bin/audiocfg/main.c:1.8 src/usr.bin/audiocfg/main.c:1.8.2.1 --- src/usr.bin/audiocfg/main.c:1.8 Wed May 8 14:36:12 2019 +++ src/usr.bin/audiocfg/main.c Sat Sep 28 07:25:53 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.8 2019/05/08 14:36:12 isaki Exp $ */ +/* $NetBSD: main.c,v 1.8.2.1 2019/09/28 07:25:53 martin Exp $ */ /* * Copyright (c) 2010 Jared D. McNeill @@ -164,7 +164,12 @@ main(int argc, char *argv[]) if (errno) usage(argv[0]); /* NOTREACHED */ - print_audiodev(audiodev_get(i), i); + adev = audiodev_get(i); + if (adev == NULL) { + fprintf(stderr, "no such device\n"); + return EXIT_FAILURE; + } + print_audiodev(adev, i); } else if (strcmp(argv[1], "default") == 0 && argc == 3) { if (*argv[2] < '0' || *argv[2] > '9') usage(argv[0]);
CVS commit: [netbsd-9] src/usr.bin/audiocfg
Module Name:src Committed By: martin Date: Sat Sep 28 07:25:53 UTC 2019 Modified Files: src/usr.bin/audiocfg [netbsd-9]: main.c Log Message: Pull up following revision(s) (requested by isaki in ticket #258): usr.bin/audiocfg/main.c: revision 1.9 Fix assertion of "audiocfg list " when n is an illegal index. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.8.2.1 src/usr.bin/audiocfg/main.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.