snd_pcm_file_descriptor()

Return the file descriptor of the connection to the PCM interface

Synopsis:

#include <sys/asoundlib.h>

int snd_pcm_file_descriptor( snd_pcm_t *handle, 
                             int channel );

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().
channel
The channel; SND_PCM_CHANNEL_CAPTURE or SND_PCM_CHANNEL_PLAYBACK.

Library:

libasound.so

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

Description:

The snd_pcm_file_descriptor() function returns the file descriptor of the connection to the PCM interface.

You can use this file descriptor for the select() synchronous multiplexer function (see the QNX Neutrino C Library Reference).

Note: Don't close() the file descriptor. If PLUGIN_ROUTING is enabled (it's disabled by default) and you're dynamically routing devices, then you should consider this file descriptor to be transitory and get it again before each use with select().

Returns:

The file descriptor of the connection to the PCM interface on success, or a negative error code. The errno values are available in the errno.h file.

Errors:

-EINVAL
The state of handle is invalid, an invalid channel 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.

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.