Захват звука в Linux со скоростью 20 мс прерывистый

В настоящее время я работаю на видео сервере Linux для встраивания. Когда я развернул приложение на платах, которые мы планируем использовать для производства, я заметил, что звук был шумным.

Я обнаружил, что захват аудио должен захватывать 640 байтов данных (16 кГц, 1 канал, с шириной 16 бит при 20 мс на буфер). Однако независимо от того, как я получаю данные, он всегда возвращает 682 байта, что означает, что я достигаю частоту выборки, 21,3 мс данных.

Я подумал, хорошо, может быть, это просто проблема Альсы, поэтому я попробовал пульс... та же проблема. Затем я попытался использовать захват PTLib прямо со звуковой карты... та же проблема. Я знаю, что код правильный (следовательно, причина здесь заключается не в переполнении стека). Что я должен искать, чтобы решить эту проблему?

Для передачи в поток rtp для буфера дрожания должно быть ровно 20 мс данных. Есть идеи?

Звуковая карта представляет собой встроенный 6-канальный HD-аудиокодек Realtek ALC888.

1 ответ

Похоже, проблема с оборудованием / чипом для меня. Это будет не первый случай, когда оборудование не будет следовать спецификации. Я бы посоветовался с кодировщиками драйверов.

Другие вопросы по тегам