Get information about a PCM channel's current capabilities
Synopsis:
#include <sys/asoundlib.h>
int snd_pcm_channel_info(
snd_pcm_t *handle,
snd_pcm_channel_info_t *info );
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().
- info
- A pointer to a snd_pcm_channel_info_t structure that
snd_pcm_channel_info() fills with information about the PCM channel.
Before
calling this function, set the info structure's channel member
to specify the direction. This function sets all the other members.
If the
rates, formats, min_rate,
max_rate, min_voices, max_voices, and
max_fragsize fields of snd_pcm_channel_info_t all contain zeroed
data, the PCM device is currently not available for further playback or capture sessions.
Library:
libasound.so
Use the -l asound option with
qcc
to link against this library.
Description:
The snd_pcm_channel_info() function
fills the info structure with the current capabilities of
the PCM channel selected by handle.
Note:
This function and the plugin-aware version,
snd_pcm_plugin_info(),
get a dynamic
snapshot of the system's
current capabilities, which can shrink and grow as subchannels are allocated and freed.
They're similar to
snd_ctl_pcm_channel_info(),
which gets information about the
complete capabilities of the system.
Returns:
EOK on success, a negative errno upon failure. The
errno values are available in the errno.h
file.
Errors:
Additional information for common error values:
- -EINVAL
- The state of handle is
invalid, an invalid params was provided as
input, or an invalid state change occurred. You can call
snd_pcm_channel_status() to check if the state
change was invalid and if you want to recover from the error.
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.