freebsd-dev/sys/dev/sound
Hans Petter Selasky 0f8dafb458 Implement the SOUND_MIXER_WRITE_MUTE and SOUND_MIXER_READ_MUTE ioctl(9)s.
These two ioctls are not part of the current version of OSS and were
considered obsolete. However, their behaviour is not the same as their
old one, so this implementation is specific to FreeBSD.

Older OSS versions had the MUTE ioctls take and return an integer with
a value of 0 or 1, which meant that the _whole_ mixer is unmuted or
muted respectively. In my implementation, the ioctl takes and returns
a bitmask that tells us which devices are muted.

This allows us to mute and unmute only the devices we want, instead of the
whole mixer. The bitmask works the same way as in DEVMASK, RECMASK and
RECSRC.

Integrated the hardware volume feature with the new mute system.

Submitted by:	Christos Margiolis <christos@freebsd.org>
Differential Revision:	https://reviews.freebsd.org/D31130
MFC after:	1 week
Sponsored by:	NVIDIA Networking
2021-07-21 11:10:30 +02:00
..
fdt arm64: Add Soc audio framework 2021-06-11 21:06:04 +02:00
isa sound: clean up empty lines in .c and .h files 2020-09-01 21:27:34 +00:00
macio sound: clean up empty lines in .c and .h files 2020-09-01 21:27:34 +00:00
midi sound: clean up empty lines in .c and .h files 2020-09-01 21:27:34 +00:00
pci Fix blankspace anomalies, no actual code change. 2021-07-11 23:12:24 -07:00
pcm Implement the SOUND_MIXER_WRITE_MUTE and SOUND_MIXER_READ_MUTE ioctl(9)s. 2021-07-21 11:10:30 +02:00
usb Set default alternate setting when USB audio devices are not in use, 2021-03-25 16:49:52 +01:00
chip.h
clone.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
clone.h sound: clean up empty lines in .c and .h files 2020-09-01 21:27:34 +00:00
driver.c
unit.c
unit.h
version.h