Open Sound System |
Do you have problems with sound/audio application development? Don't panic! Click here for help! |
Audio device capabilities can be checked using the SNDCTL_AUDIOINFO or SNDCTL_DSP_GETCAPS ioctl calls.
Note that normal applications don't need to care about the device capabilities. This information is more or less provided there just for completeness of the API. OSS is designed to work in uniform manner regardless of the capabilities that are missing. In most cases applications will work better if they don't look at the capabilities at all.
Applications should not refuse to work if certain capabilities are missing. This is simply not acceptable becaise it usually prevents the application from starting without any good reason. The only exceptions are the PCM_CAP_MMAP and PCM_CAP_TRIGGER capabilities that are needed by applications that use mmap.
Source | Explanation |
DSP_CH_MASK | Preferred channel configuration |
PCM_CAP_ADMASK | Audio interface type (digital and/or analog) |
PCM_CAP_BATCH | The device may have some extra latencies |
PCM_CAP_BIND | The device supports the old output binding calls (obsolete) |
PCM_CAP_COPROC | The device has some additional coprocessor (obsolete) |
PCM_CAP_DEFAULT | Default device |
PCM_CAP_DUPLEX | The device supports the one-device duplex mode |
PCM_CAP_FREERATE | The device supports nonstandard sampling rates |
PCM_CAP_HIDDEN | Device is hidden |
PCM_CAP_INPUT | The device can be used for recording |
PCM_CAP_MMAP | The device supports mmap |
PCM_CAP_MODEM | The device is a modem device (reserved) |
PCM_CAP_MULTI | The device can be opened by multiple applications. |
PCM_CAP_OUTPUT | The device can be used for playback |
PCM_CAP_REALTIME | The device supports high precision latency control |
PCM_CAP_REVISION | Capability interface revision |
PCM_CAP_SHADOW | Obsolete capability |
PCM_CAP_SPECIAL | The device is for special use |
PCM_CAP_TRIGGER | The device supports triggering |
PCM_CAP_VIRTUAL | The device is virtual (doesn't control hardware directly) |