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.

Anmerkung: Sie müssen externe oder externe Audiosoftware verwenden, um Audiodateien auf den unterstützten USB-Audioeinheiten zu streamen und wiederzugeben.

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.
  • Wenn ein Datensatzpfad aktiv ist und eine der Datensatzeinstellungen geändert wird, sendet der Treiber Anforderungen zum Ändern der Einstellungen in den Einheiten an die USB-Audioeinheit.
  • Wenn der Wiedergabepfad aktiv ist und eine der Wiedergabeeinstellungen geändert wird, sendet der Treiber Anforderungen an das USB-Audiogerät, um die Einstellungen in den Einheiten für den Wiedergabepfad und den Wiedergabepfad zu ändern. Für den Wiedergabepfad muss die Lautstärke der Mastereinstellungen in die Berechnungen einbezogen werden, bevor Sie die Lautstärke für den Wiedergabepfad festlegen.
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.