Resume a channel
Synopsis:
#include <sys/asoundlib.h>
int snd_pcm_channel_resume ( snd_pcm_t *pcm,
int channel );
Library:
libasound.so
Use the -l asound option with
qcc
to link against this library.
Description:
The snd_pcm_channel_resume() function resumes a channel by calling
snd_pcm_capture_resume()
or
snd_pcm_playback_resume(),
depending on the value of channel.
If the channel is in the SUSPENDED (
SND_PCM_STATUS_SUSPENDED),
one of the following occurs when you call this function:
- If the channel is hard suspended, calling this function clears
any underlying
paused condition (e.g.,
snd_pcm_channel_pause() was called
before moving to the SND_PCM_STATUS_SUSPENDED state). However, because you are in the
SND_PCM_STATUS_SUSPENDED state and waiting for higher priority audio stream to complete, the channel remains in the SUSPENDED state.
- If the channel is in the soft suspended state, calling this
function clears any underlying paused condition (e.g.,
snd_pcm_channel_pause() was called
before moving to SND_PCM_STATUS_SUSPENDED state) and the
channel plays immediately and
transitions to the SND_PCM_STATUS_RUNNING state.
- If both the hard suspended and soft suspended conditions occur, the
hard suspended state takes precedence. In other words,
calling the function clears any pending paused conditione.g.,
snd_pcm_channel_pause()) but
the channel remains in the
SND_PCM_STATUS_SUSPENDED state.
For more information, see the
Audio Concurrency Management chapter in this guide.
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
- Resume 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.