snd_pcm_channel_pause()

Updated: October 28, 2024

Pause a channel

Synopsis:

#include <sys/asoundlib.h>

int snd_pcm_channel_pause ( snd_pcm_t *pcm,
                            int channel );

Arguments:

pcm
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 with qcc to link against this library.

Description:

The snd_pcm_channel_pause() function pauses a channel by calling snd_pcm_capture_pause() or snd_pcm_playback_pause(), depending on the value of channel.

Unlike dropping or draining, this preserves all data that has not yet been received or played out within the audio driver, to be retrieved or played out after resuming.

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 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.
-EIO
The channel isn't valid that was passed in was not set to SND_PCM_CHANNEL_PLAYBACK or SND_PCM_CHANNEL_CAPTURE.
-ENOTSUP
Pause isn't supported on the PCM device that's referenced by the PCM handle (pcm).

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 pcm (snd_pcm_t) is used across multiple threads.

  翻译: