[alsa-devel] Difference between boundary and buffer_size

Alan Young Alan.Young at IEE.org
Thu Nov 3 10:11:04 CET 2016


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.



More information about the Alsa-devel mailing list