Разобрался в чём проблема. Не выставлял руками задержку, в результате в структуре стояли большие значения, из-за чего вывод данных на динамики происходил только после snd_pcm_drain.