Commit Graph

194 Commits

Author SHA1 Message Date
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
lukem
658ed3362c appease gcc -Wuninitialized 2005-06-02 01:35:57 +00:00
dsl
8383dcf78c Add (unsigned char) cast to ctype functions 2004-10-30 16:57:27 +00:00
mycroft
26fc0dfe09 Convert 8-bit signed linear data to unsigned for .wav files. 2004-07-19 19:27:59 +00:00
mycroft
680669cd36 Fix fencepost errors in the conversion functions (making them a bit more like
the kernel versions).
2004-07-19 19:15:05 +00:00
wiz
b9c239be76 Add -q to SYNOPSIS. From Kouichirou Hiratsuka in PR 26193. 2004-07-09 11:36:33 +00:00
wiz
7f968efdc2 There is no -m option -- remove it from the usage.
From Kouichirou Hiratsuka in PR 26192.
2004-07-09 11:34:16 +00:00
drochner
e87f74fd64 put the __packed__ attribute close to the struct definition
(to appease gcc-3.4), and use the compiler-independant __packed
form for consistency
2004-07-01 20:56:34 +00:00
lukem
b817247988 Use MKPRIVATELIB=yes instead of providing an empty libinstall:: target and
setting NOLINT, NOPIC, NOPROFILE (etc)
2004-05-23 02:24:50 +00:00