QNX Developer Support
![]() |
![]() |
![]() |
![]() |
About This Guide
The Audio Developer's Guide is intended for developers who wish to write audio applications using the QNX Sound Architecture (QSA) drivers and library.
This table may help you find what you need in this guide:
| To find out about: | Go to: |
|---|---|
| The structure of an audio application | Audio Architecture |
| Playing and recording sound | Playing and Capturing Audio Data |
| The structure of a mixer | Mixer Architecture |
| Audio library functions | Audio Library |
| How to code a .wav player in C | wave.c example |
| How to code a .wav recorder in C | waverec.c example |
| How to code a mix_ctl in C | mix_ctl.c example |
| Why libasound.a isn't offered | LGPL License Agreement |
| Terms used in this guide | Glossary |
![]() |
You should have already installed QNX Neutrino and become familiar with its architecture. For a detailed overview, see the System Architecture guide. |
The key components of the QNX Audio driver architecture include:
- io-audio
- Audio system manager.
- deva-ctrl-*.so drivers
- Audio drivers. For example, the audio driver for the Ensoniq Audio PCI cards is deva-ctrl-audiopci.so. For more information, see "Audio drivers (deva-*)" in the Utilities Summary chapter of the QNX Neutrino Utilities Reference.
- libasound.so
- Programmer interface library.
- <asound.h>, <asoundlib.h>
- Header files in /usr/include/sys/.
What's new in 6.1
Changed content
- snd_pcm_channel_info()
- Removed the SND_PCM_CHNINFO_BATCH flag because it was deprecated in the source code.
What's new in 6.2
The QNX Sound Architecture has evolved away from ALSA. You should reread this entire guide.
What's new in 6.3
Three function calls, a structure, and a <mix_ctl.c> example were added:
- snd_ctl_mixer_switch_list()
- snd_ctl_mixer_switch_read()
- snd_ctl_mixer_switch_write()
- snd_switch_t
- <mix_ctl.c>
Copyright © 2000 -- 2005, QNX Software Systems. All rights reserved.
![]() |
![]() |
![]() |
![]() |

![[Previous]](prev.gif)
![[Contents]](contents.gif)
![[Index]](keyword_index.gif)
![[Next]](next.gif)

