Module Name: src Committed By: mrg Date: Wed Dec 29 13:09:04 UTC 2010
Modified Files: src/usr.bin/audio/play: audioplay.1 play.c src/usr.bin/audio/record: audiorecord.1 record.c Log Message: add a new "-B buffersize" flag to both audioplay and audiorecord. suggested by jmcne...@. sort audioplay manual some. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/usr.bin/audio/play/audioplay.1 cvs rdiff -u -r1.50 -r1.51 src/usr.bin/audio/play/play.c cvs rdiff -u -r1.38 -r1.39 src/usr.bin/audio/record/audiorecord.1 cvs rdiff -u -r1.47 -r1.48 src/usr.bin/audio/record/record.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/audio/play/audioplay.1 diff -u src/usr.bin/audio/play/audioplay.1:1.21 src/usr.bin/audio/play/audioplay.1:1.22 --- src/usr.bin/audio/play/audioplay.1:1.21 Thu May 29 14:51:27 2008 +++ src/usr.bin/audio/play/audioplay.1 Wed Dec 29 13:09:03 2010 @@ -1,6 +1,6 @@ -.\" $NetBSD: audioplay.1,v 1.21 2008/05/29 14:51:27 mrg Exp $ +.\" $NetBSD: audioplay.1,v 1.22 2010/12/29 13:09:03 mrg Exp $ .\" -.\" Copyright (c) 1998-2002 Matthew R. Green +.\" Copyright (c) 1998, 1999, 2002, 2010 Matthew R. Green .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 13, 2002 +.Dd December 30, 2010 .Dt AUDIOPLAY 1 .Os .Sh NAME @@ -32,11 +32,12 @@ .Nd play audio files .Sh SYNOPSIS .Nm -.Op Fl iqVh -.Op Fl v Ar volume +.Op Fl hiqV .Op Fl b Ar balance -.Op Fl p Ar port +.Op Fl B Ar buffersize .Op Fl d Ar device +.Op Fl p Ar port +.Op Fl v Ar volume .Oo .Fl f .Op Fl c Ar channels @@ -58,22 +59,23 @@ .Sh OPTIONS The following options are available: .Bl -tag -width 123456 -.It Fl i -If the audio device cannot be opened, exit now rather than wait for it. -.It Fl q -Be quiet. -.It Fl V -Be verbose. -.It Fl h -Print a help message. -.It Fl v -Set the volume (gain) to -.Ar volume . -This value must be between 0 and 255. .It Fl b Set the balance to .Ar balance . This value must be between 0 and 63. +.It Fl B +Set the write block size to +.Ar buffersize . +The default value is the play.buffer_size of the audio device. +.It Fl d +Set the audio device to be +.Ar device . +The default is +.Pa /dev/sound . +.It Fl h +Print a help message. +.It Fl i +If the audio device cannot be opened, exit now rather than wait for it. .It Fl p Set the output port to .Ar port . @@ -84,11 +86,14 @@ .Dq headphone and .Dq line . -.It Fl d -Set the audio device to be -.Ar device . -The default is -.Pa /dev/sound . +.It Fl q +Be quiet. +.It Fl v +Set the volume (gain) to +.Ar volume . +This value must be between 0 and 255. +.It Fl V +Be verbose. .It Fl f Force playing, even if the format is unknown. The @@ -97,11 +102,11 @@ change the number of channels, encoding, precision and sample rate. .It Fl c -when combined with the +When combined with the .Fl f option, sets the number of channels to its argument. .It Fl e -when combined with the +When combined with the .Fl f option, sets the encoding to its argument. Possible values are @@ -127,12 +132,12 @@ and .Cm mpeg_l2_system . .It Fl P -when combined with the +When combined with the .Fl f option, sets the precision to its argument. This value must be either 4, 8, 16, 24 or 32. .It Fl s -when combined with the +When combined with the .Fl f option, sets the sample rate to its argument. This value must be a valid value for the audio device or an error will Index: src/usr.bin/audio/play/play.c diff -u src/usr.bin/audio/play/play.c:1.50 src/usr.bin/audio/play/play.c:1.51 --- src/usr.bin/audio/play/play.c:1.50 Sat Apr 11 10:43:09 2009 +++ src/usr.bin/audio/play/play.c Wed Dec 29 13:09:03 2010 @@ -1,7 +1,7 @@ -/* $NetBSD: play.c,v 1.50 2009/04/11 10:43:09 lukem Exp $ */ +/* $NetBSD: play.c,v 1.51 2010/12/29 13:09:03 mrg Exp $ */ /* - * Copyright (c) 1999 Matthew R. Green + * Copyright (c) 1999, 2000, 2001, 2002, 2010 Matthew R. Green * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,7 +28,7 @@ #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: play.c,v 1.50 2009/04/11 10:43:09 lukem Exp $"); +__RCSID("$NetBSD: play.c,v 1.51 2010/12/29 13:09:03 mrg Exp $"); #endif @@ -87,13 +87,17 @@ const char *defdevice = _PATH_SOUND; const char *device = NULL; - while ((ch = getopt(argc, argv, "b:C:c:d:e:fhip:P:qs:Vv:")) != -1) { + while ((ch = getopt(argc, argv, "b:B:C:c:d:e:fhip:P:qs:Vv:")) != -1) { switch (ch) { case 'b': decode_int(optarg, &balance); if (balance < 0 || balance > 64) errx(1, "balance must be between 0 and 63"); break; + case 'B': + bufsize = strsuftoll("write buffer size", optarg, + 1, UINT_MAX); + break; case 'c': decode_int(optarg, &channels); if (channels < 0) @@ -180,7 +184,8 @@ if (ioctl(audiofd, AUDIO_GETINFO, &info) < 0) err(1, "failed to get audio info"); - bufsize = info.play.buffer_size; + if (bufsize == 0) + bufsize = info.play.buffer_size; if (bufsize < 32 * 1024) bufsize = 32 * 1024; @@ -258,11 +263,9 @@ /* * give the VM system a bit of a hint about the type - * of accesses we will make. + * of accesses we will make. we don't care about errors. */ - if (madvise(addr, sizet_filesize, MADV_SEQUENTIAL) < 0 && - !qflag) - warn("madvise failed, ignoring"); + madvise(addr, sizet_filesize, MADV_SEQUENTIAL); /* * get the header length and set up the audio device @@ -470,8 +473,8 @@ fprintf(stderr, "Usage: %s [-hiqV] [options] files\n", getprogname()); fprintf(stderr, "Options:\n\t" - "-C audio control device\n\t" "-b balance (0-63)\n\t" + "-B buffer size\n\t" "-d audio device\n\t" "-f force settings\n\t" "\t-c forced channels\n\t" Index: src/usr.bin/audio/record/audiorecord.1 diff -u src/usr.bin/audio/record/audiorecord.1:1.38 src/usr.bin/audio/record/audiorecord.1:1.39 --- src/usr.bin/audio/record/audiorecord.1:1.38 Thu Jul 2 04:45:27 2009 +++ src/usr.bin/audio/record/audiorecord.1 Wed Dec 29 13:09:03 2010 @@ -1,6 +1,6 @@ -.\" $NetBSD: audiorecord.1,v 1.38 2009/07/02 04:45:27 mrg Exp $ +.\" $NetBSD: audiorecord.1,v 1.39 2010/12/29 13:09:03 mrg Exp $ .\" -.\" Copyright (c) 1998-1999 Matthew R. Green +.\" Copyright (c) 1998, 1999, 2001, 2002, 2010 Matthew R. Green .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 13, 2002 +.Dd December 30, 2010 .Dt AUDIORECORD 1 .Os .Sh NAME @@ -34,6 +34,7 @@ .Nm .Op Fl afhqV .Op Fl b Ar balance +.Op Fl B Ar buffersize .Op Fl c Ar channels .Op Fl d Ar device .Op Fl e Ar encoding @@ -73,6 +74,10 @@ Set the balance to .Ar balance . This value must be between 0 and 63. +.It Fl B Ar buffersize +Set the audio device read buffer size to +.Ar buffersize . +The default value is the record.buffer_size of the audio device. .It Fl c Ar channels Set number of channels to .Ar channels . Index: src/usr.bin/audio/record/record.c diff -u src/usr.bin/audio/record/record.c:1.47 src/usr.bin/audio/record/record.c:1.48 --- src/usr.bin/audio/record/record.c:1.47 Sat Apr 11 10:43:10 2009 +++ src/usr.bin/audio/record/record.c Wed Dec 29 13:09:03 2010 @@ -1,7 +1,7 @@ -/* $NetBSD: record.c,v 1.47 2009/04/11 10:43:10 lukem Exp $ */ +/* $NetBSD: record.c,v 1.48 2010/12/29 13:09:03 mrg Exp $ */ /* - * Copyright (c) 1999, 2002 Matthew R. Green + * Copyright (c) 1999, 2002, 2003, 2005, 2010 Matthew R. Green * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -32,11 +32,11 @@ #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: record.c,v 1.47 2009/04/11 10:43:10 lukem Exp $"); +__RCSID("$NetBSD: record.c,v 1.48 2010/12/29 13:09:03 mrg Exp $"); #endif -#include <sys/types.h> +#include <sys/param.h> #include <sys/audioio.h> #include <sys/ioctl.h> #include <sys/time.h> @@ -93,11 +93,11 @@ char *argv[]; { u_char *buffer; - size_t len, bufsize; + size_t len, bufsize = 0; int ch, no_time_limit = 1; const char *defdevice = _PATH_SOUND; - while ((ch = getopt(argc, argv, "ab:C:F:c:d:e:fhi:m:P:p:qt:s:Vv:")) != -1) { + while ((ch = getopt(argc, argv, "ab:B:C:F:c:d:e:fhi:m:P:p:qt:s:Vv:")) != -1) { switch (ch) { case 'a': aflag++; @@ -107,6 +107,10 @@ if (balance < 0 || balance > 63) errx(1, "balance must be between 0 and 63"); break; + case 'B': + bufsize = strsuftoll("read buffer size", optarg, + 1, UINT_MAX); + break; case 'C': /* Ignore, compatibility */ break; @@ -199,10 +203,6 @@ if (encoding == -1) errx(1, "unknown encoding, bailing..."); } -#if 0 - else - encoding = AUDIO_ENCODING_ULAW; -#endif /* * open the output file @@ -246,7 +246,8 @@ */ if (ioctl(audiofd, AUDIO_GETINFO, &oinfo) < 0) err(1, "failed to get audio info"); - bufsize = oinfo.record.buffer_size; + if (bufsize == 0) + bufsize = oinfo.record.buffer_size; if (bufsize < 32 * 1024) bufsize = 32 * 1024; omonitor_gain = oinfo.monitor_gain; @@ -778,6 +779,7 @@ getprogname()); fprintf(stderr, "Options:\n\t" "-b balance (0-63)\n\t" + "-B buffer size\n\t" "-c channels\n\t" "-d audio device\n\t" "-e encoding\n\t"