Навскидку- нет синхронизации. Обычная схема воспроизведения звука:
1) Дождались, пока доиграет текущий фрейм
2) Запустили воспроизведение буфера
3) Быстро начали рендерить данные _в этот же_ буфер
4) Переход на п.1.
Варианты с большим буфером (больше 20мс) и многоуровневой буферизацией чреваты запаздывающим звуком.