Controlador de dispositivo de audio USB
Finalidad
Da soporte a los dispositivos de audio USB (Universal Serial Bus).
Sintaxis
#include <sys/usbdi.h>
Descripción
El controlador de dispositivo de audio USB soporta dispositivos USB isocronos como altavoces de audio USB. Cada dispositivo de audio USB se representa como las siguientes interfaces: control de audio y transmisión de audio. Aunque estas interfaces están asociadas con el dispositivo único, las interfaces se tratan como dispositivos separados virtualmente. El archivo especial /dev/paud0 se crea para la interfaz de control de audio y el archivo especial /dev/paudas0 se crea para la interfaz de streaming de audio.
La interfaz de control de audio se utiliza para acceder a las funciones internas de un dispositivo de audio. Cualquier solicitud para cambiar los controles de audio dentro de las unidades o terminales de la función de audio se dirige a la interfaz de control de audio de la función.
La interfaz de transmisión de audio se puede configurar para operar en modo mono o estéreo. El número de corrientes de datos de canal de entrada varía según la modalidad seleccionada. La interfaz de transmisión de audio debe tener un punto final isocronoso. Esta interfaz puede tener valores alternativos que se pueden utilizar para cambiar algunas características del punto final.
La tabla siguiente lista las operaciones de ioctl :
| Operación ioctl | Descripción |
|---|---|
| AUDIO_INIT | El controlador busca las interfaces y los valores alternativos para determinar el valor que puede dar soporte a la frecuencia de muestreo solicitada, los bits por ejemplo, la modalidad y los canales. |
| AUDIO_STATUS | El controlador devuelve información sobre sus estructuras de datos internas. |
| AUDIO_CONTROL | El controlador maneja las solicitudes para cambiar las propiedades de audio, por ejemplo, iniciar, detener y pausar. |
| AUDIO_BUFFER | El controlador calcula y devuelve los valores que se basan en la información sobre sus estructuras de datos, la cantidad de datos en almacenamientos intermedios, la cantidad de datos en solicitudes, el retardo de tiempo que se especifica en el campo bDelay y el descriptor de interfaz específico de clase general. |
| AUDIO_WAIT | El controlador espera hasta que se completen las solicitudes de todos los datos de reproducción restantes. Si se especifica el campo bDelay , espera esa cantidad de tiempo. Esta operación debe llamarse justo antes de la operación AUDIO_STOP para evitar la interrupción en las últimas muestras restantes del almacenamiento intermedio de reproducción. |
| AUDIO_SET_CHANNELS | El controlador actualiza sus copias de los valores de registro y reproducción en las estructuras de datos internas del controlador.
|
| AUDIO_GET_CHANNELS | El controlador devuelve información que se basa en los cuatro modelos de dispositivo de entrada y uno de salida. |
| AUDIO_CHANNEL_STATUS | El controlador devuelve información almacenada en sus estructuras de datos internas. |
| AUDIO_SET_GAIN | El controlador actualiza su copia de los valores en sus estructuras de datos internas. Si una vía de acceso de registro está activa, el controlador envía solicitudes al dispositivo de audio USB para cambiar los valores de las unidades. |
| AUDIO_MODIFY_LIMITS | El controlador actualiza los valores en sus estructuras de datos internas. Si una llamada select() está pendiente y se cumple una de las condiciones para desbloquear la llamada select() , la llamada select() se desbloquea. |
| AUDIO_MASTER_VOLUME | El controlador guarda el nuevo valor de volumen maestro. Calcula el nuevo valor de volumen de unidad basado en el nuevo valor de volumen maestro y el valor de volumen de reproducción. Si la reproducción está activa, el controlador envía solicitudes al dispositivo de audio USB para cambiar la configuración de las unidades para las rutas de reproducción y de reproductores de reproducción. |