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.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel