1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 01:07:36 +00:00

Base: Document /dev/audio devices

This properly documents the fact that /dev/audio contains a bunch of
device's channels now, instead of being a single file.
This commit is contained in:
kleines Filmröllchen 2022-02-17 11:01:44 +01:00 committed by Ali Mohammad Pur
parent 3052c0578c
commit 01d056f794
2 changed files with 7 additions and 3 deletions

View file

@ -1,10 +1,10 @@
## Name
audio - system audio device
audio - system audio devices
## Description
The `/dev/audio` character device file exposes the audio output device of the system. As of now, this is an output-only device and reading it has no effect. To get the audio device to play audio, PCM samples need to be written to `/dev/audio` as a series of "frames" (in MPEG terminology) or multi-channel samples with the following format:
`/dev/audio` is the directory for the system audio devices. Currently, there are only output devices, so every device file in the directory is an output channel. These channels are numbered, with `/dev/audio/0` being the first channel of the first device. To get the audio device to play audio, PCM samples need to be written to it as a series of "frames" (in MPEG terminology) or multi-channel samples with the following format:
| Byte | 0-1 | 2-3 |
|--|:--:|:--:|
@ -19,3 +19,7 @@ Note that for convenience, the audio device may not block the call to `write` an
* `SOUNDCARD_IOCTL_GET_SAMPLE_RATE`: Passes the current device sample rate (in samples per second) into a provided `u16*` (16-bit unsigned integer pointer).
* `SOUNDCARD_IOCTL_SET_SAMPLE_RATE`: Sets the sample rate of the underlying hardware from a provided 16-bit unsigned integer. Note that not all sound cards support all sample rate and the actually achieved sample rate should be checked with the GET_SAMPLE_RATE ioctl.
## See also
* [Audio-subsystem](help://man/7/Audio-subsystem)