QNX Sound Architecture

In order for an application to produce sound, the system must include the components discussed in this topic.

  • hardware in the form of a sound card or sound chip
  • a device driver for the hardware
  • a well-defined way for the application to talk to the driver, in the form of an Application Programming Interface (API).

This whole system is referred to as the QNX Sound Architecture (QSA). QSA has a rich heritage and owes a large part of its design to version 0.5.2 of the Advanced Linux Sound Architecture (ALSA), but as both systems continued to develop and expand, direct compatibility between the two was lost.

This document concentrates on defining the API and providing examples of how to use it. But before defining the API calls themselves, you need a little background on the architecture itself. For those who want to jump in right away, full source for examples of a wav player and wav recorder are included in the appendix.