Библиотека libado

Интерфейсная библиотека аудио стека io-audio, позволяющая разрабатывать драйверы устройств (deva-*)

Список подразделов:

Статьи и обзоры
API

Статьи и обзоры

Статья Описание
Назначение библиотеки
Написание PCM устройства
Разработка аналогового микшера
Информация о поддерживаемых видах кодеков
Рассматривается способ определения количества ресурсов, необходимых для разработки аудио драйвера
Раздел дает понимание роли драйвера в аудио стеке
Понятия, используемые в данном руководстве
Пример исходного кода микшера

API

Функция Описание
Присоединение обработчика прерываний
Выделение памяти для массива
Создает символьное имя, характеризующее экземпляр аудио оборудования
Создает символьное имя, характеризующее тип аудио оборудования
Отправка отладочного сообщения в системный журнал
Мапирование области памяти
Освобождение смапированного виртуального региона памяти
Отправка сообщения об ошибке в системный журнал
Освобождение блока памяти
Выделение памяти
Отображение сведений о выделенной фукнциями ado_*() памяти
Создание группы захвата аудио данных
Создание нового микшера и подключение его к контексту драйвера
Загрузка указанной стандартной библиотеки микшера
Создание элемента-аккумулятора (тип 1)
Создание элемента-аккумулятора (тип 2)
Создание элемента-аккумулятора (тип 3)
Создание элемента ввода-вывода
Создание элемента-мультиплексора (тип 1)
Создание элемента-мультиплексора (тип 2)
Уведомление вышележащего драйверного слоя о наличии изменений в элементе
Создание PCM-элемента (тип 1)
Создание PCM-элемента (тип 2)
Указание отношений взаимосвязи между двумя элементами микшера
Создание элемента-переключателя (тип 1)
Создание элемента-переключателя (тип 2)
Создание элемента-переключателя (тип 3)
Чтение максимального значения громкости соответствующего элемента микшера
Чтение минимального значения громкости соответствующего элемента микшера
Создание элемента регулятор громкости (тип 1)
Поиск элемента в микшере
Поиск группы в микшере
Получение указателя на контекст микшера
Получение доступа к данным реализации элмента микшера
Получение эксклюзивного доступа к микшеру
Создание группы воспроизведения аудио данных
Подключение обработчика, вызываемого при закрытии микшера
Установка микшеру символьного имени
Подключение обработчика, вызываемого при сбросе (reset) оборудования микшера
Создание нового переключателя микшера
Освобождение эксклюзивного доступа к микшеру
Освобождение ресурсов мьютекса
Инициализация мьютекса
Захват мьютекса
Освобождение мьютекса
Соединение с PCI устройством
Отсоединение от PCI устройства
Возможности PCM устройства
Логическая ассоциация элементов и групп микшера с PCM устройства
Конфигурация субканала PCM
Создание PCM устройства
Получение размера фрагмента PCM канала
Получение ширины семпла в битах для указанного формата
Callback-функции PCM устройства
Получение указателя на структуру, описывающую возможности субканала
Проверка является ли канал субканалом PCM устройства
Логическая ассоциация элементов и групп микшера с субканалом PCM устройства
Callback-функции субканалов PCM устройства
Создание субканала PCM микшера
Удаление субканала PCM микшера
Механизм одновременной обработки нескольких потоков
Первичное или повторное выделение, а также освобождение, блоков памяти
Удаление объекта rw-блокировки
Инициализация объекта rw-блокировки
Захват разделяемой блокировки по чтению для объекта rw-блокировки
Освобождение объекта rw-блокировки
Захват эксклюзивной блокировки по записи для объекта rw-блокировки
Выделение разделяемой памяти
Освобождение памяти и удаление разделяемого объекта
Мапирование блока разделяемой памяти в адресное пространство драйвера
Создать дубликат строки
Уведомить стек о завершении со стороны DMA обработки текущего фрагмента в субканале
Структура, описывающая один из голосов
Структура описывает указанное PCI устройство




Предыдущий раздел: Мультимедийные библиотеки