=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/sndiod/sndiod.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- src/usr.bin/sndiod/sndiod.c 2020/04/01 16:54:17 1.39 +++ src/usr.bin/sndiod/sndiod.c 2020/04/25 05:35:52 1.40 @@ -1,4 +1,4 @@ -/* $OpenBSD: sndiod.c,v 1.39 2020/04/01 16:54:17 ratchov Exp $ */ +/* $OpenBSD: sndiod.c,v 1.40 2020/04/25 05:35:52 ratchov Exp $ */ /* * Copyright (c) 2008-2012 Alexandre Ratchov * @@ -85,13 +85,6 @@ #define DEFAULT_BUFSZ 7680 #endif -/* - * default device in server mode - */ -#ifndef DEFAULT_DEV -#define DEFAULT_DEV "rsnd/0" -#endif - void sigint(int); void sighup(int); void opt_ch(int *, int *); @@ -119,6 +112,14 @@ "[-v volume] [-w flag] [-z nframes]\n"; /* + * default audio devices + */ +static char *default_devs[] = { + "rsnd/0", "rsnd/1", "rsnd/2", "rsnd/3", + NULL +}; + +/* * default MIDI ports */ static char *default_ports[] = { @@ -454,7 +455,7 @@ int main(int argc, char **argv) { - int c, i, background, unit; + int c, i, background, unit, devindex; int pmin, pmax, rmin, rmax; char base[SOCKPATH_MAX], path[SOCKPATH_MAX]; unsigned int mode, dup, mmc, vol; @@ -492,6 +493,7 @@ aparams_init(&par); mode = MODE_PLAY | MODE_REC; tcpaddr_list = NULL; + devindex = 0; while ((c = getopt(argc, argv, "a:b:c:C:de:F:f:j:L:m:Q:q:r:s:t:U:v:w:x:z:")) != -1) { @@ -541,8 +543,8 @@ break; case 's': if ((d = dev_list) == NULL) { - d = mkdev(DEFAULT_DEV, &par, 0, bufsz, round, - rate, hold, autovol); + d = mkdev(default_devs[devindex++], &par, 0, + bufsz, round, rate, hold, autovol); } if (mkopt(optarg, d, pmin, pmax, rmin, rmax, mode, vol, mmc, dup) == NULL) @@ -575,6 +577,7 @@ case 'f': mkdev(optarg, &par, 0, bufsz, round, rate, hold, autovol); + devindex = -1; break; case 'F': if (dev_list == NULL) @@ -596,8 +599,12 @@ for (i = 0; default_ports[i] != NULL; i++) mkport(default_ports[i], 0); } - if (dev_list == NULL) - mkdev(DEFAULT_DEV, &par, 0, bufsz, round, rate, hold, autovol); + if (devindex != -1) { + for (i = devindex; default_devs[i] != NULL; i++) { + mkdev(default_devs[i], &par, 0, + bufsz, round, rate, 0, autovol); + } + } for (d = dev_list; d != NULL; d = d->next) { if (opt_byname(d, "default")) continue;