ALSA захватывает поток с 8 каналами, но открывает поток как 4 - PullRequest
0 голосов
/ 31 января 2020

Я пишу приложение для встроенного устройства. Устройство подключено к плате 8 c, поэтому 8 плат передаются на плату. В ALSA это устройство отображается как HW: 3,0.

Я открыл поток HW: 3,0 и с:

snd_pcm_hw_params_test_channels()

I ' мы проверили количество разрешенных каналов. Выход был 1 - 8.

Что произойдет, если я открою поток и установлю количество каналов на 4? Удаляет ли ALSA остальные 4 канала, и я получаю буфер CH1 | CH2 | CH3 | Образцы CH4 или я получаю CH1 | ... | CH8 в буфере?

Спасибо за помощь, Ренегат

1 Ответ

0 голосов
/ 31 января 2020

Ограничения hw_params_* управляются драйвером. Таким образом, драйверу сообщают, что в потоке есть четыре канала, а затем он отвечает за настройку оборудования для генерации четырех выборок на кадр.

...