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