Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

About This Guide

This chapter includes:

What you'll find in 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

Note: 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 the entries for the deva-* audio drivers in the QNX Neutrino Utilities Reference.
libasound.so
Programmer interface library.
<asound.h>, <asoundlib.h>
Header files in /usr/include/sys/.

Typographical conventions

Throughout this manual, we use certain typographical conventions to distinguish technical terms. In general, the conventions we use conform to those found in IEEE POSIX publications. The following table summarizes our conventions:

Reference Example
Code examples if( stream == NULL )
Command options -lR
Commands make
Environment variables PATH
File and pathnames /dev/null
Function names exit()
Keyboard chords Ctrl-Alt-Delete
Keyboard input something you type
Keyboard keys Enter
Program output login:
Programming constants NULL
Programming data types unsigned short
Programming literals 0xFF, "message string"
Variable names stdin
User-interface components Cancel

We use an arrow (-->) in directions for accessing menu items, like this:

You'll find the Other... menu item under Perspective-->Show View.

We use notes, cautions, and warnings to highlight important messages:


Note: Notes point out something important or useful.


Caution: Cautions tell you about commands or procedures that may have unwanted or undesirable side effects.


WARNING: Warnings tell you about commands or procedures that could be dangerous to your files, your hardware, or even yourself.

Note to Windows users

In our documentation, we use a forward slash (/) as a delimiter in all pathnames, including those pointing to Windows files.

We also generally follow POSIX/UNIX filesystem conventions.

Navigation buttons

At the top and bottom of our HTML docs, you'll see some or all of these buttons:

Use this button: To move:
Previous To the previous part of the document.
Contents "Up" in the document:
  • In a prose book, this typically takes you to About This Guide.
  • In a reference book, it takes you to the listing of items that start with a given letter. For example, if you're looking at the docs for abs(), this button takes you to the listing of the functions that start with A.
Keyword index To the keyword index.
Next To the next part of the document.

Technical support

To obtain technical support for any QNX product, visit the Support + Services area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.

What's new in QNX Momentics 6.4

snd_mixer_open_name()
Create a connection and handle to a mixer device specified by name
snd_pcm_open_name()
Create a handle and open a connection to an audio interface specified by name

What's new in QNX Momentics 6.3

snd_ctl_mixer_switch_list()
Get the number and names of control switches for the mixer
snd_ctl_mixer_switch_read()
Get a mixer switch setting
snd_ctl_mixer_switch_write()
Adjust a mixer switch setting
snd_switch_t
Information about a mixer's switch
mix_ctl.c
A sample application that captures the groups and switches in the mixer

What's new in QNX Momentics 6.2

The QNX Sound Architecture has evolved away from ALSA. You should reread this entire guide.

What's new in QNX Momentics 6.1

Changed content

snd_pcm_channel_info()
Removed the SND_PCM_CHNINFO_BATCH flag because it was deprecated in the source code.

Copyright © 2000-2008, QNX Software Systems GmbH & Co. KG. All rights reserved.