snd_pcm_link_transition ()

Updated: April 19, 2023

Indicate to the specified PCM handle to trigger other handles in the group to start playback as soon as the specified audio subchannel's currently buffered data has been completely written to the hardware.

Synopsis:

#include <sys/asoundlib.h>

int snd_pcm_link_transition (snd_pcm_t handle);

Arguments:

handle
A PCM handle that may or may not belong to a group.

Library:

libasound.so

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

Description:

Indicate to the specified PCM handle to trigger other handles in the group to start playback as soon as the specified audio subchannel's currently buffered data has been completely written to the hardware. This allows you to transition playback from one PCM handle to another with minimal gap between playback. For example, if you had two subchannels in a group and you set the mode to SND_PCM_LINK_MODE_TRANSITION for both, then when you call snd_pcm_link_transition() on the active PCM handle, as it nears completion, the other subchannel is triggered to start playing.

Returns:

EOK on success, or an errno value if an error occurred.

Errors:

-EINVAL
Failed to change the link mode because of either an invalid handle to a PCM group or the application tried to set the link mode for a subchannel that's used to capture audio.

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 is used across multiple threads.