FLAC файл можно за секунду засосать целиком. А буферизация? Не, не слышали )
В годы особого увлечения аудио занимались с другом, который сам по себе программист, специализирующийся на риал-тайм процессах, и тоже увлеченный темой, написанием аудиодвижка. Ну как занимались - я не программист, я очень хорошо понимаю техническую и коммерческую часть ИТ железа и просто люблю аудио ), поэтому я в этом вопросе занимался обеспечением возможности тестирования на широком спектре железа и как "слухач". Писал он.
Безусловно, самым правильным способом является считать весь трэк, только не в буфер, как вы думаете, а самое важное - в оперативную память устройства. Буфер - это ведь накопитель опять, и ничем не лучше обычного последовательного чтения. Считывание целиком трэка - избавляет от массы проблем дальше, которые иначе приходится решать. В частности в Max Vision 4K эти проблемы решаются контроллерами Comtrue CT7601PR и XMOS XU208 в одной и другой версии аппарата, которые перетактовывают поток, и тем самым избавляют от проблем с буфером на входе. Ессно, говоря о проблемах с буфером - речь не идет о банальных затыках, щелчках там и пр, речь о минимизации джиттера.
Так вот движок получился - просто отличный, я до сих пор его использую как эталон, когда надо проверить какой-нить стример новый. НО )). Он так и остался выглядеть как окно терминала, куда просто вбрасывается wav, и он сугубо в определенных аппаратных конфигурациях выдает из него поток через SPDIF. При этом комп ничего другого в это время не делает, ну и за размером wav надо следить ))). Это я о том, что в реальной практической коммерческой реализации адиодвижка весь этот идеализм... слегка не бывает ). Нужно написать свои драйвера с прямым доступом к каждому возможному варианту железа, нужно учесть объем ОЗУ девайса и безумие пользователей, это вам кажется, что все так просто, а на деле если вы в аудиодвижок засосете гигабайтный flac (это между прочим на раз - обычный образ 44/16 длинного альбома не разбитый на трэки), его надо в этой памяти еще распаковать в wav (а это еще +1.5 Гб чистого веса), ну и вообще она занята еще и системными процессами и пр. А если 4 Гб flac ? Вы скажете - зачем, так не бывает )). Да прям ). 192 КГц, еще и в 32 битах для верности, не разбитое на трэки - легко. Где-то на уровне ОЗУ в 16 Гб становится уже почти пофигу. Столько в стримерах не бывает ). В Дюне совершенно королевские для стримера 4 Гб, это редкость, обычно там 512Мб-1Гб, и никто ессно в память трэки не считывает разом ).
Да по факту это все и не нужно ). Потому что знаете в чем суть моих выводов при сравнении этого идеального движка с разными стримерами ? Она простая - любой стример с XMOS достаточен, а без XMOS бесполезен ). Дюна сделала стример (уж не первый) с USB-Audio XMOS. Лично мне он интересен наиболее широким функционалом из того, что в принципе можно в этом классе найти. Еще 10 лет назад, когда я как-то изучал этот вопрос, имея и тогда возможность взять любые железки и тестировать их как угодно )), а Дюна мне тогда просто впервые попалась под руку - http://rulerm.com/notes/72.html - этим всем даже не пахло. Функционал был, аппаратных оснований для хорошего звука - нет (упомянутая тут приснопамятная 303D - это вот фактически оно же, только еще хуже железно исполненное). Хотя я в той статье вроде как нашел для себя Дюну "получше" для этой цели, но по факту - со временем нет, она через год ушла в чистое видео, а для аудио были использованы другие железки и методы.
Потом была Duo 4K (шесть лет назад), которая стала прям прорывом для Дюны, и, кстати, полностью собственнной с нуля разработкой аудиодевайса (это к вопросу, что вы думаете, будто они этим никогда не занимались до, ага )) ). Это еще времена собственного, не контрактного производства, все платы с нуля и пр. Я с радостью стал гонять аппарат, хотя у меня все уже было и без Дюны прекрасно по аудио настроено. Но, увы, тогда инженерам Дюны явно не дали сделать все правильно, и в Duo 4K многое в деталях сделано ОЧЕНЬ правильно, а вот принципиально нет - тактуется все Сигмой, XMOS нет, и как стример она, увы, очень так себе в итоге.
А вот первые Max 4K и Ultra 4K - это уже полноценные аудиостримеры (как одно из применений), и после прошивки с XMOS 1.06, которая появилась где-то через полгода после их выхода, прямо-таки высокого уровня. Я раза 3 туда-сюда двигался, и в итоге так и стал их использовать основными аудиостримерами. Там как раз принципиально сделано все очень правильно, а в деталях хорошо, но можно лучше.
Max Vision 4K и Ultra Vision 4K - как аудиостримеры скорее уже экстраординарного уровня, и если вернуться в тот самый 2011, когда я тестировал тогдашние Дюны - никогда бы нельзя подумать, что Дюна настолько высоко заберется в аудио. Теперь в деталях - практически все как надо, а принципиально оно было верно уже в прошлом поколении.
Вот, а буферизация - тут вообще не при чем ). Есть ясные и проверенные решения что и как должно быть в аудио, и в Max Vision 4K они вполне сделаны. Там традиционно есть шероховатости в функционале, причем не в прямом, а в разных сочетаниях ). Ну это Дюна, она такой всегда была ). Других все равно нет )). И да, когда вы предъявляете не выглядящий прямым и заложенным потому в логику свой пользовательский сценарий - вас наверняка ТП спрашивает первым делом "зачем так" ). Ну попробуйте напишите в поддержку Pioneer и пр. про их стример )), я писал )), очень так отрезвляет в вопросе "что такое хорошо и что такое плохо" )). Вон тут в соседней ветке человек про Dolby Vision рассказывал, что вот же она Дюна, ага Дюна, а в том кейсе на деле LG тупо в июне для всех OLED 2019 года сделал прошивку (а она между прочим ставится почти принудительно и не откатывается), с которой с внешних девайсов 24 к/с DV мигает постоянно ))). На дворе конец июля, все пишут на деревню бабушке, LG в теме да ). Это заметьте - глобальная проблема, просто убирающая один из основных функционалов у миллионов выпущенных девайсов ). Ну, кстати, ходил я на форум профильный - там смиренно ждут )). Никто не поливает Г местным экспертов, за это банят сразу )). А вы тут жалуетесь на нравы )).