Ребята, объяните популярно - как правильно сделать стриминг. Я уже мозг сломал.
Кстати загрузку ogg реализовал. Осталось этот стремный стриминг сделать.
Насколько я понял нужно делать так:
Грузим кусок данных в буфер. Ставим буфер в очередь проигрывания. Как только буфер проигран, убираем его из очереди. Дальше грузим следующий кусок данных и забрасываем их в тот же буфер. Буфер обратно в очередь проигрывания. НО! Как сделать подкачку, если с семплом работают МНОГО источников? Держать вечно открытым файл и в каждом источнике хранить позицию следующего куска данных в буфере и подзагружать их с неё? На геймдеве читал статью
http://www.gamedev.ru/code/articles/OpenAL
но там говнокод - слишком сильная интеграция загрузчика и OpenAL'a.