ado_mixer_element_sw3()

Создание элемента-переключателя (тип 3)

Прототип:

#include <audio_driver.h>
ado_mixer_delement_t * ado_mixer_element_sw3( ado_mixer_t *mixer,
char *name,
uint32_t type,
uint32_t number_of_voices,
snd_mixer_voice_t *voices,
ado_mixer_delement_control_sw3_t *control,
void *instance_data,
void (*instance_free)( void *data ) );

Аргументы:

mixer
Указатель на структуру ado_mixer_t, которая определяет микшер, в котором создается элемент. Структура должна быть предварительно создана с помощью ado_mixer_create().
name
Имя элемента. Элементы идентифицируются по именам, следует быть осторожными в их выборе; некоторые стандартные имена можно найти в <asound.h>.
type
Тип переключателя:
SND_MIXER_SWITCH3_FULL_FEATURED
SND_MIXER_SWITCH3_ALWAYS_DESTINATION
SND_MIXER_SWITCH3_ALWAYS_ONE_DESTINATION
SND_MIXER_SWITCH3_ONE_DESTINATION
number_of_voices
Число голосов в канале.
voices
Массив структур snd_mixer_voice_t. Каждый элемент описывает один из голосов аудио канала.
control
Callback-функция типа ado_mixer_delement_control_sw3_t, которая устанавлиает сигналы маршрутизации:
int32_t control( MIXER_CONTEXT_T *context,
ado_mixer_delement_t *element,
uint8_t set,
uint32_t *bitmap,
void *instance_data );
instance_data
Указатель на экземпляр произвольных данных, которые будут переданы в callback-функцию. Это может быть указатель на выделенную память, тогда для ее освобождения применяться функция instance_free(). Для доступа к этим данным может применяться вызов ado_mixer_get_element_instance_data(), поскольку тип ado_mixer_delement_t является прозрачным для драйвера.
instance_free()
Функция, применяемая для освобождения памяти, выделенной для instance_data.

Библиотека:

libado

Описание:

Функция ado_mixer_element_sw3() автоматизирует создание элемента-переключателя (тип 3). Данный элемент определяет переключатель с одним или несколькими входами и выходами, которые могут быть маршрутизированы друг с другом.

Возвращаемое значение:

Указатель на созданный элемент.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Нет

Тематические ссылки:

ado_mixer_create(), ado_mixer_element_sw1(), ado_mixer_element_sw2(), ado_mixer_get_element_instance_data(), snd_mixer_voice_t




Предыдущий раздел: Библиотека libado