3 Nov
2016
3 Nov
'16
10:11 a.m.
The code in the kernel, in /pcm_lib.c/ and /pcm_native.c/, uses fields buffer_size and boundary in struct snd_pcm_runtime. As far as I can see, there are always initialized to the same value. In what circumstance might they be different? There is clearly some relationship to hw_ptr_base, as illustrated by this repeated snipped from snd_pcm_update_hw_ptr0()
hw_base += runtime->buffer_size; if (hw_base >= runtime->boundary) { hw_base = 0; crossed_boundary++; } new_hw_ptr = hw_base + pos;
Alan.