diff -urN alsa-lib-1.0.23-orig/src/pcm/pcm_rate.c alsa-lib-1.0.23/src/pcm/pcm_rate.c --- alsa-lib-1.0.23-orig/src/pcm/pcm_rate.c 2010-04-16 20:11:05 +0900 +++ alsa-lib-1.0.23/src/pcm/pcm_rate.c 2010-11-11 12:17:26 +0900 @@ -381,8 +381,8 @@ return err; sboundary = sparams->boundary; *sparams = *params; - boundary1 = pcm->buffer_size; - boundary2 = slave->buffer_size; + boundary1 = pcm->period_size; + boundary2 = slave->period_size; while (boundary1 * 2 <= LONG_MAX - pcm->buffer_size && boundary2 * 2 <= LONG_MAX - slave->buffer_size) { boundary1 *= 2;