snd_pcm_plugin_set_src_mode()
Set the system's source mode (plugin-aware)
Synopsis:
#include <sys/asoundlib.h>
unsigned int snd_pcm_plugin_set_src_mode(
snd_pcm_t *handle,
unsigned int src_mode,
int target );
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().
- src_mode
- The sample rate conversion mode; one of the following:
- SND_SRC_MODE_NORMAL — (default mode; all previous version of SRC work this way) SRC ratio based on input/output block size rounded towards zero. Floor(input size/output size).
- SND_SRC_MODE_ACTUAL — fixed SRC which adjusts the input fragment size dynamically to prevent roundoff error from adjusting the playback speed.
- SND_SRC_MODE_ASYNC — asynchronous SRC which adjusts the input fragment size to maintain a specified buffer fullness.
- target
- The level in percent for the buffer fullness measurement used in the asynchronous sample rate conversion.
Library:
libasound.so
Use the -l asound option with qcc to link against this library.
Description:
The snd_pcm_plugin_set_src_mode() function sets the type of sample rate conversion to use. Only playback modes are supported.
Returns:
The source mode (also in handle->plugin_src_mode) that the system is set to.
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.
Make sure that you don't mix and match plugin- and nonplugin-aware functions in your application, or you may get undefined behavior and misleading results.
Page updated:
