ado_pcm_create
![]() |
![]() |
![]() |
![]() |
ado_pcm_create()
Create a PCM audio device
Synopsis:
#include <audio_driver.h>
int32_t ado_pcm_create (
ado_card_t *card,
char *name,
uint32_t flags,
char *id,
uint32_t play_subchns,
ado_pcm_cap_t *play_cap,
ado_pcm_hw_t *play_hw,
uint32_t cap_subchns,
ado_pcm_cap_t *cap_cap,
ado_pcm_hw_t *cap_hw,
ado_pcm_t **rpcm );
Arguments:
- card
- The card argument that io-audio passed to your Audio HW DLL's ctrl_init() function (see the Organization of a Driver chapter).
- name
- The name of the new device. This is usually a variation of the card name, and is used only for information display by client applications.
- flags
- Capability flags for the device; one of
the SND_PCM_INFO_* flags defined in asound.h.
For more information, see
snd_pcm_info()
in the QNX Audio Developer's Guide.

These flags are used to identify device capabilities only. - id
- The name of the new device.
- play_subchns
- The maximum number of simultaneous playback subchannels that the new device can support.
- play_cap
- A pointer to a static ado_pcm_cap_t structure that describes the static capabilities of the playback portion of the device. These are the capabilities that the first subchannel opened could use. As more subchannels are opened, the device capabilities may decrease and become unavailable.
- play_hw
- A pointer to a ado_pcm_hw_t structure that specifies all of the callbacks for the playback portion of the PCM device. The io-audio manager invokes these callbacks when something needs to be done with respect to the PCM device.
- cap_subchns
- The maximum number of simultaneous capture subchannels that the new device can support.
- cap_cap
- A pointer to a static ado_pcm_cap_t structure that describes the static capabilities of the capture portion of the device. These are the capabilities that the first subchannel opened could use. As more subchannels are opened, the device capabilities may decrease and become unavailable.
- cap_hw
- A pointer to a ado_pcm_hw_t structure that specifies all of the callbacks for the capture portion of the PCM device. The io-audio manager invokes these callbacks when something needs to be done with respect to the PCM device.
- rpcm
- A pointer to a memory location where ado_pcm_create() can store a pointer to the new PCM device. You'll need this address for additional API calls.
Description:
The ado_pcm_create() function creates a PCM audio device and attaches it to the given card.
Returns:
Zero on success, or -1 on failure (errno is set).
Errors:
- ENOMEM
- Memory couldn't be allocated to hold the device structures.
- EINVAL
- One or more of the function's arguments are invalid.
Classification:
QNX Neutrino
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | No |
| Thread | No |
See also:
ctrl_init() in the Organization of a Driver chapter, Handling PCM Audio Data chapter
snd_pcm_info() in the QNX Audio Developer's Guide
![]() |
![]() |
![]() |
![]() |
![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)