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.

Nota: Debe utilizar software de audio externo o de terceros para transmitir y reproducir archivos de audio en los dispositivos de audio USB soportados.

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.
  • Si una vía de acceso de registro está activa y se cambia uno de los valores de registro, el controlador envía solicitudes al dispositivo de audio USB para cambiar los valores de las unidades.
  • Si la trayectoria de reproducción está activa y se cambia uno de los ajustes de reproducción, el controlador envía solicitudes al dispositivo de audio USB para cambiar la configuración en las unidades para las rutas de reproducción y de rider de reproducción. Para la vía de acceso de reproducción, el volumen de valores maestros debe incluirse en los cálculos antes de establecer el volumen de la vía de acceso de reproducción.
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.