USB-Audioeinheitentreiber
Zweck
Unterstützt die USB-Audioeinheiten (Universal Serial Bus).
Syntax
#include <sys/usbdi.h>
Beschreibung
Der USB-Audioeinheitentreiber unterstützt isochronische USB-Einheiten, z. B. USB-Audiolautsprecher. Jedes USB-Audiogerät wird als folgende Schnittstellen dargestellt: Audiosteuerung und Audiostreaming. Obwohl diese Schnittstellen der einzelnen Einheit zugeordnet sind, werden sie praktisch als separate Einheiten behandelt. Die Gerätedatei /dev/paud0 wird für die Audiosteuerungsschnittstelle und die Gerätedatei /dev/paudas0 für die Audiostreamingschnittstelle erstellt.
Die Audiosteuerschnittstelle wird für den Zugriff auf die internen Funktionen eines Audiogeräts verwendet. Jede Anforderung zum Ändern der Audiosteuerelemente innerhalb der Einheiten oder Terminals der Audiofunktion wird an die Audiosteuerschnittstelle der Funktion weitergeleitet.
Die Audio-Streaming-Schnittstelle kann für den Betrieb im Mono-oder Stereo-Modus konfiguriert werden. Die Anzahl der Eingabekanaldatenströme variiert je nach ausgewähltem Modus. Audio-Streaming-Schnittstelle muss einen isochronen Endpunkt haben. Diese Schnittstelle kann über alternative Einstellungen verfügen, mit denen einige Merkmale des Endpunkts geändert werden können.
In der folgenden Tabelle sind die ioctl -Operationen aufgelistet:
| ioctl, Operation | Beschreibung |
|---|---|
| AUDIO_INIT | Der Treiber durchsucht die Schnittstellen und alternativen Einstellungen, um die Einstellung zu ermitteln, die die angeforderte Abtastrate, Bit pro Stichprobe, Modus und Kanäle unterstützen kann. |
| PRÜFSTATUS | Der Treiber gibt Informationen zu seinen internen Datenstrukturen zurück. |
| PRÜFSTEUERUNG | Der Treiber verarbeitet Anforderungen zum Ändern der Audioeigenschaften, z. B. Starten, Stoppen und Anhalten. |
| AUDIOPUFFER | Der Treiber berechnet und gibt die Werte zurück, die auf den Informationen zu seinen Datenstrukturen, dem Datenvolumen in Puffern, dem Datenvolumen in Anforderungen, der im Feld bDelay angegebenen Zeitverzögerung und dem allgemeinen klassenspezifischen Schnittstellendeskriptor basieren. |
| AUDIO_WARTEN | Der Treiber wartet, bis die Anforderungen für alle verbleibenden Wiedergabedaten abgeschlossen sind. Wenn das Feld bDelay angegeben ist, wartet es für diese Zeit. Diese Operation muss direkt vor der Operation AUDIO_STOP aufgerufen werden, um eine Unterbrechung der letzten verbleibenden Stichproben im Wiedergabepuffer zu verhindern. |
| AUDIOSET_KANÄLE | Der Treiber aktualisiert seine Kopien der Aufzeichnungs-und Wiedergabeeinstellungen in den internen Datenstrukturen des Treibers.
|
| AUDIO_GET_KANÄLE | Der Treiber gibt Informationen zurück, die auf den vier Ein-und Ausgabeeinheitenmodellen basieren. |
| PRÜFKANALSTATUS | Der Treiber gibt Informationen zurück, die in seinen internen Datenstrukturen gespeichert sind. |
| AUDIO_SET_GAIN | Der Treiber aktualisiert seine Kopie der Einstellungen in seinen internen Datenstrukturen. Wenn ein Datensatzpfad aktiv ist, sendet der Treiber Anforderungen an die USB-Audioeinheit, um die Einstellungen in den Einheiten zu ändern. |
| AUDIO_MODIFY_LIMITS | Der Treiber aktualisiert die Werte in seinen internen Datenstrukturen. Wenn ein Aufruf select() ansteht und eine der Bedingungen zum Aufheben der Blockierung des Aufrufs select() erfüllt ist, wird die Blockierung des Aufrufs select() aufgehoben. |
| AUDIO_MASTER_LAUTSTÄRKE | Der Treiber speichert den neuen Masterdatenträgerwert. Sie berechnet den neuen Wert für das Einheitenvolumen, der auf dem neuen Mastervolumenwert und dem Wiedergabevolumenwert basiert. Wenn die Wiedergabe aktiv ist, sendet der Treiber Anforderungen an das USB-Audiogerät, um die Einstellungen in den Einheiten für die Wiedergabe-und Wiedergabereiterpfade zu ändern. |