Index: libao2/ao_dsound.c =================================================================== --- libao2/ao_dsound.c (revision 20253) +++ libao2/ao_dsound.c (working copy) @@ -605,6 +605,7 @@ if(space > buffer_size)space -= buffer_size; // write_offset < play_offset if(space < len) len = space; + if (!(flags & AOPLAY_FINAL_CHUNK)) len = (len / ao_data.outburst) * ao_data.outburst; return write_buffer(data, len); }