Commit Graph

14 Commits

Author SHA1 Message Date
jmcneill
56ca6a8885 defopt -> defparam (oops) 2020-01-25 19:22:05 +00:00
jmcneill
c1058ddd10 defopt AUDIO_BLK_MS 2020-01-25 12:15:35 +00:00
isaki
e622eac459 Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly.  Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism.  The encoding/channels/frequency
  conversions are completely handled in the upper layer.  So the hard-
  ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
  - Obsoletes query_encoding and add query_format instead.
  - Obsoletes set_params and add set_format instead.
  - Remove drain, setfd, mappage.
  - The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c         -> dev/audio/audio.c (rewritten)
- dev/audiovar.h      -> dev/audio/audiovar.h
- dev/audio_dai.h     -> dev/audio/audio_dai.h
- dev/audio_if.h      -> dev/audio/audio_if.h
- dev/audiobell.c     -> dev/audio/audiobell.c
- dev/audiobellvar.h  -> dev/audio/audiobellvar.h
- dev/mulaw.[ch]      -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
2019-05-08 13:40:13 +00:00
pgoyette
46d691fd63 Include auvolconv.o in the audio driver, even if there are currently no
children needing it.  Children which need this can be created later (via
loading of a module, such as pad).
2017-05-30 02:21:11 +00:00
nat
160e0571ac Add mulaw to audio device for auconv_set_converter.
This should address PR kern/51707.
2016-12-25 23:23:46 +00:00
christos
8dfcaa17b1 name attachment after parent per existing convention. 2016-12-15 04:36:07 +00:00
christos
0b335da6c0 Restructure speaker devices so that there can be multiple of them, and have
proper softc's.
2016-12-13 20:20:34 +00:00
christos
56de918b3d one more vaudiospeaker remove 2016-12-11 06:30:11 +00:00
christos
2fb257653e more spkr rework. 2016-12-09 04:32:39 +00:00
nat
03783bb56a Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
2016-12-08 11:31:08 +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
jmcneill
dd9a139587 Add common audio converters for software volume control. Only supports
slinear16_le and slinear16_be for now.

Convert pad(4) to use the new converters.
2014-11-18 01:53:17 +00:00
uebayasi
e500ebe9ee Normalize audio related definitions. 2014-10-10 17:21:20 +00:00
uebayasi
89221fef3c Move audio related definitions. 2014-10-10 12:29:28 +00:00