Album Player и другие продукты от Игоря Антонова. Делимся опытом

Возможно я что-то не так делаю.

Пытаюсь вытащить многоканальный звук без затыков через Fox Max, используя SсreamAlsa.
Вижу, что period_size/buffer_size очень низкие, понимаю что в угоду low latency. На на 8 каналов это естественно еще ниже в 4 раза.


И стабильно на 8 каналов не работает.

В итоге я сделал вывод, возможно ошибочный. Что стабильно максиму 2 канала 96Кгц.

Для примера на той же сборке протестил многоканалку Reflex 2.0
Все стабильно
48Кгц


192Кгц

И вижу что здесь буфер/период меняются пропорционально частоте.

Как-то лису запеть в 8 полос реально?
Эти значения буфера и периода на какой стороне ‘зашиты’, драйвера ScreamAlsa server?

В ScreamALSA залочен только период, поскольку это реальный период - стандартный размер пакета со звуком, отправляемого драйвером в сеть. Но для приложения плеера это особой нагрузки не должно создавать, поскольку оно работает с буфером, который может быть многократно больше периода. То есть, надо пробовать увеличить буфер драйвера, который источник-плеер может задавать.

2 Likes

Интересно, а в каком месте его можно изменять?
Получается, я через Aprender отправляю

В аплеере и апрендерере - на первой вкладке их настроек (ALSA Buffer). В других плеерах - где-то в их настройках.
Там, где нет настроек, а автоматический выбор неудачен, может быть использована сборка драйвера, где ограничения на период отключаются за счёт некоторого усложнения обработки. При сборке драйвера этот вариант включается в файле snd-screamalsa.c строкой
#define FLEXIBLE_PERIOD

2 Likes


Видимо у меня залочен буфер.

Это теперь нужно пересобрать драйвер специальным образом?
раскомментировать строку и пересобрать.

В драйвере буфер не залочен. У меня в Yoctoap 16000 отрабатывается. Надо на вкладке Status посмотреть, что рендерер при воспроизведении показывает.

2 Likes

Да, все верно. Но на 8 каналов мало



И я так понял, 16272 это макимум, уперся…

Так в рендерере есть и прямой scream вывод, который на ALSA не завязан вообще.
Да и драйвер без ограничений можно собрать для DietPi.
Для PC Лев Фишман уже делал и выкладывал.

2 Likes

В том то и дело, это пока единственный путь ALSA.