snd_pcm_channel_status()

Updated: May 06, 2022

Get the runtime status of a PCM channel

Synopsis:

#include <sys/asoundlib.h>

int snd_pcm_channel_status( 
       snd_pcm_t *handle, 
       snd_pcm_channel_status_t *status );

Arguments:

handle
The handle for the PCM device, which you must have opened by calling snd_pcm_open_name(), snd_pcm_open(), or snd_pcm_open_preferred().
status
A pointer to a snd_pcm_channel_status_t structure that snd_pcm_channel_status() fills with information about the PCM channel's status.

Fill in the status structure's channel member to specify the direction. All other members are read-only.

Library:

libasound.so

Use the -l asound option with qcc to link against this library.

Description:

The snd_pcm_channel_status() function fills the status structure with data about the PCM channel's runtime status.

Note: The ability to convert audio to match hardware capabilities (for example, voice conversion, rate conversion, type conversion, etc.) is enabled by default. As a result, this function behaves as snd_pcm_plugin_status(), unless you've disabled the conversion by calling:
snd_pcm_plugin_set_disable(handle, PLUGIN_CONVERSION);

Returns:

EOK
Success.
-EBADFD
The PCM device state isn't Ready.
-EFAULT
Failed to copy data.
-EINVAL
Invalid handle or data pointer is NULL.

Classification:

QNX Neutrino

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Read the Caveats

Caveats:

This function is not thread safe if handle (snd_pcm_t) is used across multiple threads.