1 #ifndef USB_AUDIO_H 2 #define USB_AUDIO_H 3 4 // (Partial) USB Class Definitions for Audio Devices, version 1.0 5 // Reference: http://www.usb.org/developers/devclass_docs/audio10.pdf 6 7 #define USB_AUDIO_DEVICE_CLASS 0x01 8 #define USB_AUDIO_CLASS_VERSION 0x0100 9 10 enum { 11 USB_AUDIO_INTERFACE_AUDIO_CLASS = 0x01 12 }; 13 14 enum { // Audio Interface Subclasses 15 USB_AUDIO_INTERFACE_AUDIOCONTROL_SUBCLASS = 0x01, // 16 USB_AUDIO_INTERFACE_AUDIOSTREAMING_SUBCLASS, // 17 USB_AUDIO_INTERFACE_MIDISTREAMING_SUBCLASS // 18 }; 19 20 enum { // Audio Class-Specific AudioControl Interface descriptor subtypes 21 USB_AUDIO_AC_HEADER = 0x01, 22 USB_AUDIO_AC_INPUT_TERMINAL, 23 USB_AUDIO_AC_OUTPUT_TERMINAL, 24 USB_AUDIO_AC_MIXER_UNIT, 25 USB_AUDIO_AC_SELECTOR_UNIT, 26 USB_AUDIO_AC_FEATURE_UNIT, 27 USB_AUDIO_AC_PROCESSING_UNIT, 28 USB_AUDIO_AC_EXTENSION_UNIT 29 }; 30 31 enum { // Audio Class-Specific AudioStreaming Interface descriptor subtypes 32 USB_AUDIO_AS_GENERAL = 0x01, 33 USB_AUDIO_AS_FORMAT_GENERAL, 34 USB_AUDIO_AS_FORMAT_SPECIFIC 35 }; 36 37 enum { // Processing Unit Process Types (for USB_AUDIO_AC_PROCESSING_UNIT) 38 USB_AUDIO_UP_DOWNMIX_PROCESS = 0x01, 39 USB_AUDIO_DOLBY_PROLOGIC_PROCESS, 40 USB_AUDIO_3D_STEREO_EXTENDER_PROCESS, 41 USB_AUDIO_REVERBERATION_PROCESS, 42 USB_AUDIO_CHORUS_PROCESS, 43 USB_AUDIO_DYN_RANGE_COMP_PROCESS 44 }; 45 46 47 #endif // USB_AUDIO_H 48