202 Commits

Author SHA1 Message Date
wiz
5b72b9d868 Remove list of audio drivers, moved to audio(4). 2019-11-12 12:50:30 +00:00
joerg
856452fc2a Spell the largest 32bit signed value as INT32_MAX. Explicitly cast to
float, because it is not precisely representable.
2019-11-11 15:40:42 +00:00
wiz
899b15813c Fix a typo. Fix some xrefs, comment out references to non-existing man pages. 2019-11-11 11:04:15 +00:00
mrg
e130416089 copyright maint. 2019-11-09 12:54:34 +00:00
mrg
95676db785 add support for playing IEEE float32 and float64 RIFF WAVE
samples on platforms that have these types natively, and
can handle signed linear 32 bit samples.  explicitly
disabled on vax, run-or-compile-time sizeof() check
disabled for everyone else

now i can play a float32 .wav file i found.
float64 not tested.

copyright maint, update HISTORY, update audio drivers list.
2019-11-09 12:46:44 +00:00
wiz
f96f071847 Sort options (no-argument options before ones demanding arguments).
Bump date.
2019-05-09 09:37:11 +00:00
isaki
017c116c97 Remove -p option. AUDIO_SETCHAN is insecure and is obsoleted. 2019-05-08 14:44:42 +00:00
isaki
fd2a21e429 Use err(3)/errx(3) properly to avoid "write failed: Undefined error: 0". 2019-05-04 08:27:30 +00:00
mlelstv
dd276a2ec2 The test for regular file was wrong.
From yarl on freenode, thanks!
2018-11-16 13:55:17 +00:00
jdolecek
c8469e9019 need getle16() for ext.sub_tag too
PR bin/52762 by Yosuke Sugahara
2017-11-25 17:18:15 +00:00
nat
cf3b979950 Renane ioctl AUDIO_SETPROC to AUDIO_SETCHAN.
Add an ioctl to return channel number (AUDIO_GETCHAN). This can be used
on audio/sound/audioctl devices.

Return EIO in read/write/ioctl/poll/stat if fp has been closed or is
invalid.

Update audio.4, audioio.h and audioctl(1) to reflect these changes.
2017-03-21 07:04:29 +00:00
nat
f835d36292 Audio now uses fdclone, there is no longer a limitation of one audio
instance per process.  Virtual channels are placed in a queue, so there is
no longer a compile time limit of VAUDIOCHANS.

A new sysctl has been added to control multiple user access.
Mixer labels on virtual channels are now prefixed by vchan.

audiobell.c and audioctl have been updated to reflect these changes.

Use of fdclone was posted to tech-kern@ and improvements made.
Multiuser access control changes and the use of a queue were suggessted by
pgoyette@
2017-02-10 19:31:42 +00:00
nat
82924a36bf The audio sub-system now supports the following features as
posted to tech-kern:

    * Simultaneous playback and mixing of multiple streams
    * Playback streams can be of different encoding, frequency, precision
      and number of channels
    * Simultaneous recording to different formats
    * One audio device per process
    * Sysctls to set the common format frequency, precision and channels
    * Independent mixer controls for recording/playback per stream
    * Utilizes little cpu time for multiple streams / good performance
    * Compatible with existing programs that use OSS/NetBSD audio
    * Changes to audioctl(1) to allow specifying process id for corresponding
      audio device
2016-12-08 10:28:44 +00:00
mrg
a0e3e3912d rename struct write_info as struct track_info, and the variable name 'wi'
as 'ti', as this info is useful for reading as well.
2015-08-05 06:54:39 +00:00
mrg
3a70beec89 separate the 3 functions midirecord uses from libaudio.a into its own
file and link it directly, instead of having an (implicit) dependancy
on usr.bin/audio/common being built before usr.bin/midirecord is linked.
2015-06-21 06:06:01 +00:00
mrg
9dd3b8ae69 add a decode_uint() function. 2014-12-30 01:22:09 +00:00
riastradh
6cb10275d0 Merge riastradh-drm2 to HEAD. 2014-03-18 18:20:35 +00:00
christos
6e28978d84 fix unused variable warnings 2013-10-18 20:47:06 +00:00
mrg
0c2e06460b move most of the header writing code from record.c into wav.c and sun.c.
introduce a struct write_info for communication between front ends and
backends.

libaudio API is still pretty ugly, and needs to stay local here for now,
but it is a little more usable for other tools now.
2013-08-30 20:57:26 +00:00
wiz
a5684d07dd Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
christos
48adc0d0fe PR/45384: Henning Petersen: Swapped arguments in lseek 2011-09-21 14:32:14 +00:00
jmcneill
a123dfbe30 recognize AUDIO_ENCODING_AC3 2011-09-06 22:41:53 +00:00
joerg
c36a7298be ANSIfy. Add static. Add __dead. 2011-08-28 01:17:47 +00:00
wiz
90bb351524 Sort usage. 2010-12-29 18:49:41 +00:00
wiz
7072bc9c3f Use better reference after sorting in -f description. 2010-12-29 18:48:56 +00:00
wiz
29bd138c93 Sort usage. 2010-12-29 18:48:40 +00:00
wiz
825164c33e Sort some more. 2010-12-29 18:46:48 +00:00
jmcneill
94f6c5770b allow for buffer sizes < 32k 2010-12-29 14:38:54 +00:00
mrg
ebcfca8be3 add a new "-B buffersize" flag to both audioplay and audiorecord.
suggested by jmcneill@.

sort audioplay manual some.
2010-12-29 13:09:03 +00:00
joerg
757c7f4987 Reorder sections to canonical order. 2010-05-15 00:08:31 +00:00
mrg
983926d7bf note that -t can take [.dddddd]. sort -q.
from dhgutteridge@sympatico.ca in PR#36928.
2009-07-02 04:45:27 +00:00
mrg
95c070cab9 - add extended WAVE header support
- attempt to play a bunch more WAV files
2009-06-18 02:37:27 +00:00
lukem
c1ceae17f0 Enable WARNS=4 by default for usr.bin, except for:
awk  bdes  checknr  compile_et  error  gss  hxtool  kgetcred  kinit
	klist  ldd  less  lex  locale  login  m4  man  menuc  mk_cmds
	mklocale  msgc  openssl  rpcgen  rpcinfo  sdiff  spell  ssh
	string2key  telnet  tn3270  verify_krb5_conf  xlint
2009-04-14 22:15:16 +00:00
lukem
31582cc99b fix -Wsign-compare and other WARNS=4 issues 2009-04-11 10:43:09 +00:00
mrg
c2b95373bf remove clause #3 from my license where there are no other
copyright holders involved.
2008-05-29 14:51:25 +00:00
lukem
66176dfdff Rename MKPRIVATELIB to LIBISPRIVATE, to make it clearer that this is
a variable that is used by in-tree Makefiles to control behaviour.
(MKsomevar variables are generally intended to be controlled by the end-user)
2008-05-03 14:48:30 +00:00
martin
11a6dbe728 Convert TNF licenses to new 2 clause variant 2008-04-30 13:10:46 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
perry
8b0f9554ff convert __attribute__s to applicable cdefs.h macros 2007-12-15 19:44:37 +00:00
lukem
5d427989ff Convert to raise_default_signal(3). 2007-10-05 07:27:41 +00:00
christos
afb23e8f50 use c99 initializer. 2006-10-22 16:12:20 +00:00
christos
f3d3c4b618 missing initializers. 2006-10-22 16:11:34 +00:00
christos
d257792f4a Coverity CID 3187: Fix memory leak 2006-05-23 01:07:16 +00:00
gson
9aca5a13df Recording to standard output is specified by a file name of -,
not by omitting the file name.
2006-05-15 02:21:37 +00:00
mrg
bc3f0566af variable signed/unsigned cleanup. 2006-05-11 01:19:10 +00:00
gson
dcf9144a8a Do not treat all file names of length 1 as meaning standard output. 2006-05-09 15:55:44 +00:00
perry
f2bc845517 __inline__ -> inline 2005-12-24 21:44:28 +00:00
mrg
a3d57ef1bd play.c: allow empty files to exit gracefully rather than with an error
of "header seems really large".  reported by wiz.

record.c: don't use total_size in the header if is -1 (it's initial value)
2005-07-13 10:57:11 +00:00
mrg
8ce77e5534 move some more processing before opening the audio device. don't
default the encoding to ulaw; default it to what ever the device
has.  the latter fixes PR#30612.
2005-07-05 22:01:42 +00:00
mrg
906f130f1a check that an output file is given before doing any other work.
avoids touching the audio device and then printing an error.
2005-07-05 21:05:50 +00:00