[alsa-devel] Question about snd_dma_buffer bytes field

Troy Kisky troy.kisky at boundarydevices.com
Mon May 25 04:26:42 CEST 2009


Does

(substream->dma_buffer.bytes) need to equal (snd_pcm_lib_period_bytes(substream) * runtime->periods) ?

When this is not true, it seems like the buffer is not being filled correctly.


for testing, this works
	.buffer_bytes_max = 16 * 7 * 512,
	.period_bytes_min = 32,
	.period_bytes_max = 7 * 512,	/* This is size of ping + pong buffer*/

and this doesn't.
	.buffer_bytes_max = 16 * 7 * 512 + 512,
	.period_bytes_min = 32,
	.period_bytes_max = 7 * 512,	/* This is size of ping + pong buffer*/


When playing back a sine wave, I can hear breaks.


Thanks
Troy


More information about the Alsa-devel mailing list