我们可以使用snd_pcm_sw_params_set_silence_size克服alsa中的欠载吗?

时间:2013-12-10 10:18:48

标签: alsa

正如我们所知,当我们打开设备进行播放时,我们必须在设备运行时向设备提供数据(意味着我们必须匹配设备的速率),否则我们将得到欠载。

    "Under-run/over-run can be overcomed by increasing the buffer size"
我可以理解如何克服过度运行,但可以通过增加缓冲区大小来消除欠载运行。我们可以使用 snd_pcm_sw_params_set_silence_size snd_pcm_sw_params_set_silence_threshold 来克服欠载?这两者之间的确切区别是什么?任何帮助都要提前感谢。

1 个答案:

答案 0 :(得分:1)

静音大小/阈值设置比实际需要更通用。

要使用零重新初始化缓冲区中任何刚刚播放的部分,请将静音阈值设置为零,并将静音大小设置为边界值(可以使用snd_pcm_sw_params_get_boundary读取)。