usb_protocol.types.descriptors.uac2 module

Descriptors for USB Audio Class Devices (UAC), Release 2

[Audio20] refers to “Universal Serial Bus Device Class Definition for Audio Devices”, Release 2.0, May 31, 2006 [Frmts20] refers to “Universal Serial Bus Device Class Definition for Audio Data Formats”, Release 2.0, May 31, 2006 [TermT20] refers to “Universal Serial Bus Device Class Definition for Terminal Types”, Release 2.0, May 31, 2006

NOTE: This is not complete yet and will be extended as needed

class usb_protocol.types.descriptors.uac2.AudioClassSpecificACInterfaceDescriptorSubtypes(value)[source]

Bases: IntEnum

An enumeration.

AC_DESCRIPTOR_UNDEFINED = 0
CLOCK_MULTIPLIER = 12
CLOCK_SELECTOR = 11
CLOCK_SOURCE = 10
EFFECT_UNIT = 7
EXTENSION_UNIT = 9
FEATURE_UNIT = 6
HEADER = 1
INPUT_TERMINAL = 2
MIXER_UNIT = 4
OUTPUT_TERMINAL = 3
PROCESSING_UNIT = 8
SAMPLE_RATE_CONVERTER = 13
SELECTOR_UNIT = 5
class usb_protocol.types.descriptors.uac2.AudioClassSpecificASInterfaceDescriptorSubtypes(value)[source]

Bases: IntEnum

An enumeration.

AS_DESCRIPTOR_UNDEFINED = 0
AS_GENERAL = 1
DECODER = 4
ENCODER = 3
FORMAT_TYPE = 2
class usb_protocol.types.descriptors.uac2.AudioClassSpecificEndpointDescriptorSubtypes(value)[source]

Bases: IntEnum

An enumeration.

DESCRIPTOR_UNDEFINED = 0
EP_GENERAL = 1
class usb_protocol.types.descriptors.uac2.AudioClassSpecificRequestCodes(value)[source]

Bases: IntEnum

An enumeration.

CUR = 1
MEM = 3
RANGE = 2
REQUEST_CODE_UNDEFINED = 0
class usb_protocol.types.descriptors.uac2.AudioClassSpecificStandardDescriptorNumbers(value)[source]

Bases: IntEnum

An enumeration.

CS_CONFIGURATION = 34
CS_DEVICE = 33
CS_ENDPOINT = 37
CS_INTERFACE = 36
CS_STRING = 35
CS_UNDEFINED = 32
class usb_protocol.types.descriptors.uac2.AudioFunctionCategoryCodes(value)[source]

Bases: IntEnum

An enumeration.

AUDIO_VIDEO = 11
CONTROL_PANEL = 12
CONVERTER = 6
DESKTOP_SPEAKER = 1
FUNCTION_SUBCLASS_UNDEFINED = 0
HEADSET = 4
HOME_THEATER = 2
IO_BOX = 8
MICROPHONE = 3
MUSICAL_INSTRUMENT = 9
OTHER = 255
PRO_AUDIO = 10
TELEPHONE = 5
VOICE_SOUND_RECORDER = 7
class usb_protocol.types.descriptors.uac2.AudioFunctionClassCode(value)[source]

Bases: IntEnum

An enumeration.

AUDIO_FUNCTION = 1
class usb_protocol.types.descriptors.uac2.AudioFunctionProtocolCodes(value)[source]

Bases: IntEnum

An enumeration.

AF_VERSION_02_00 = 32
FUNCTION_PROTOCOL_UNDEFINED = 0
class usb_protocol.types.descriptors.uac2.AudioFunctionSubclassCodes(value)[source]

Bases: IntEnum

An enumeration.

FUNCTION_SUBCLASS_UNDEFINED = 0
class usb_protocol.types.descriptors.uac2.AudioInterfaceClassCode(value)[source]

Bases: IntEnum

An enumeration.

AUDIO = 1
class usb_protocol.types.descriptors.uac2.AudioInterfaceProtocolCodes(value)[source]

Bases: IntEnum

An enumeration.

INTERFACE_PROTOCOL_UNDEFINED = 0
IP_VERSION_02_00 = 32
class usb_protocol.types.descriptors.uac2.AudioInterfaceSubclassCodes(value)[source]

Bases: IntEnum

An enumeration.

AUDIO_CONTROL = 1
AUDIO_STREAMING = 2
INTERFACE_SUBCLASS_UNDEFINED = 0
MIDI_STREAMING = 3
class usb_protocol.types.descriptors.uac2.AudioStreamingInterfaceControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

AS_ACT_ALT_SETTING_CONTROL = 1
AS_AUDIO_DATA_FORMAT_CONTROL = 3
AS_CONTROL_UNDEFINED = 0
AS_VAL_ALT_SETTINGS_CONTROL = 2
class usb_protocol.types.descriptors.uac2.BidirectionalTerminalTypes(value)[source]

Bases: IntEnum

An enumeration.

BIDIRECTIONAL_UNDEFINED = 1024
ECHO_CANCELING_SPEAKERPHONE = 1029
ECHO_SUPPRESSING_SPEAKERPHONE = 1028
HANDSET = 1025
HEADSET = 1026
class usb_protocol.types.descriptors.uac2.ClockAttributes(value)[source]

Bases: IntEnum

An enumeration.

EXTERNAL_CLOCK = 0
INTERNAL_FIXED_CLOCK = 1
INTERNAL_PROGRAMMABLE_CLOCK = 3
INTERNAL_VARIABLE_CLOCK = 2
class usb_protocol.types.descriptors.uac2.ClockFrequencyControl(value)[source]

Bases: IntEnum

An enumeration.

HOST_PROGRAMMABLE = 3
HOST_READ_ONLY = 1
NOT_PRESENT = 0
class usb_protocol.types.descriptors.uac2.ClockMultiplierControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

CM_CONTROL_UNDEFINED = 0
CM_DENOMINATOR_CONTROL = 2
CM_NUMERATOR_CONTROL = 1
class usb_protocol.types.descriptors.uac2.ClockSelectorControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

CX_CLOCK_SELECTOR_CONTROL = 1
CX_CONTROL_UNDEFINED = 0
class usb_protocol.types.descriptors.uac2.ClockSourceControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

CS_CLOCK_VALID_CONTROL = 2
CS_CONTROL_UNDEFINED = 0
CS_SAM_FREQ_CONTROL = 1
class usb_protocol.types.descriptors.uac2.ClusterControl(value)[source]

Bases: IntEnum

An enumeration.

HOST_PROGRAMMABLE = 192
HOST_READ_ONLY = 128
NOT_PRESENT = 0
class usb_protocol.types.descriptors.uac2.ConnectorControl(value)[source]

Bases: IntEnum

An enumeration.

HOST_PROGRAMMABLE = 12
HOST_READ_ONLY = 8
NOT_PRESENT = 0
class usb_protocol.types.descriptors.uac2.CopyProtectControl(value)[source]

Bases: IntEnum

An enumeration.

HOST_PROGRAMMABLE = 3
HOST_READ_ONLY = 2
NOT_PRESENT = 0
class usb_protocol.types.descriptors.uac2.DolbyProLogicProcessingUnitControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

DP_CLUSTER_CONTROL = 3
DP_CONTROL_UNDEFINED = 0
DP_ENABLE_CONTROL = 1
DP_LATENCY_CONTROL = 6
DP_MODE_SELECT_CONTROL = 2
DP_OVERFLOW_CONTROL = 5
DP_UNDERFLOW_CONTROL = 4
class usb_protocol.types.descriptors.uac2.DynamicRangeCompressorEffectUnitControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

DR_ATTACK_TIME_CONTROL = 5
DR_COMPRESSION_RATE_CONTROL = 2
DR_CONTROL_UNDEFINED = 0
DR_ENABLE_CONTROL = 1
DR_LATENCY_CONTROL = 9
DR_MAXAMPL_CONTROL = 3
DR_OVERFLOW_CONTROL = 8
DR_RELEASE_TIME_CONTROL = 6
DR_THRESHOLD_CONTROL = 4
DR_UNDERFLOW_CONTROL = 7
class usb_protocol.types.descriptors.uac2.EffectUnitEffectTypes(value)[source]

Bases: IntEnum

An enumeration.

DYN_RANGE_COMP_EFFECT = 4
EFFECT_UNDEFINED = 0
MOD_DELAY_EFFECT = 3
PARAM_EQ_SECTION_EFFECT = 1
REVERBERATION_EFFECT = 2
class usb_protocol.types.descriptors.uac2.EmbeddedFunctionTerminalTypes(value)[source]

Bases: IntEnum

An enumeration.

ANALOG_TAPE = 1799
CABLE_TUNER_AUDIO = 1806
CD_PLAYER = 1795
DAT = 1796
DCC = 1797
DRUMS_RHYTHM = 1814
DSS_AUDIO = 1807
DVD_AUDIO = 1803
EMBEDDED_UNDEFINED = 1792
EQUALIZATION_NOISE = 1794
GUITAR = 1813
MULTI_TRACK_RECORDER = 1810
OTHER_MUSICAL_INSTRUMENT = 1815
PHONOGRAPH = 1800
PIANO = 1812
RADIO_RECEIVER = 1808
RADIO_TRANSMITTER = 1809
SATELLITE_RECEIVER_AUDIO = 1805
SYNTHESIZER = 1811
TV_TUNER_AUDIO = 1804
VCR_AUDIO = 1801
VIDEO_DISC_AUDIO = 1802
class usb_protocol.types.descriptors.uac2.EndpointControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

EN_BIT_RATE_CONTROL = 1
EN_ENCODER_ERROR_CONTROL = 7
EN_OVERFLOW_CONTROL = 6
EN_PARAM1_CONTROL = 8
EN_PARAM2_CONTROL = 9
EN_PARAM3_CONTROL = 10
EN_PARAM4_CONTROL = 11
EN_PARAM5_CONTROL = 12
EN_PARAM6_CONTROL = 13
EN_PARAM7_CONTROL = 14
EN_PARAM8_CONTROL = 15
EN_QUALITY_CONTROL = 2
EN_TYPE_CONTROL = 4
EN_UNDERFLOW_CONTROL = 5
EN_VBR_CONTROL = 3
EP_CONTROL_UNDEFINED = 0
class usb_protocol.types.descriptors.uac2.ExtensionUnitControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

XU_CLUSTER_CONTROL = 2
XU_CONTROL_UNDEFINED = 0
XU_ENABLE_CONTROL = 1
XU_LATENCY_CONTROL = 5
XU_OVERFLOW_CONTROL = 4
XU_UNDERFLOW_CONTROL = 3
class usb_protocol.types.descriptors.uac2.ExternalTerminalTypes(value)[source]

Bases: IntEnum

An enumeration.

ADAT_LIGHTPIPE = 1544
ANALOG_CONNECTOR = 1537
DIGITAL_AUDIO_INTERFACE = 1538
EXTERNAL_UNDEFINED = 1536
IEEE_1394_DA_STREAM = 1542
IEEE_1394_DV_STREAM_SOUNDTRACK = 1543
LINE_CONNECTOR = 1539
MADI = 1546
SPDIF_INTERFACE = 1541
TDIF = 1545
class usb_protocol.types.descriptors.uac2.FeatureUnitControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

FU_AUTOMATIC_GAIN_CONTROL = 7
FU_BASS_BOOST_CONTROL = 9
FU_BASS_CONTROL = 3
FU_CONTROL_UNDEFINED = 0
FU_DELAY_CONTROL = 8
FU_GRAPHIC_EQUALIZER_CONTROL = 6
FU_INPUT_GAIN_CONTROL = 11
FU_INPUT_GAIN_PAD_CONTROL = 12
FU_LATENCY_CONTROL = 16
FU_LOUDNESS_CONTROL = 10
FU_MID_CONTROL = 4
FU_MUTE_CONTROL = 1
FU_OVERFLOW_CONTROL = 15
FU_PHASE_INVERTER_CONTROL = 13
FU_TREBLE_CONTROL = 5
FU_UNDERFLOW_CONTROL = 14
FU_VOLUME_CONTROL = 2
class usb_protocol.types.descriptors.uac2.FormatTypes(value)[source]

Bases: IntEnum

An enumeration.

EXT_FORMAT_TYPE_I = 129
EXT_FORMAT_TYPE_II = 130
EXT_FORMAT_TYPE_III = 131
FORMAT_TYPE_I = 1
FORMAT_TYPE_II = 2
FORMAT_TYPE_III = 3
FORMAT_TYPE_IV = 4
FORMAT_TYPE_UNDEFINED = 0
class usb_protocol.types.descriptors.uac2.GroupTerminalBlockType(value)[source]

Bases: IntEnum

An enumeration.

BIDIRECTIONAL = 0
INPUT_ONLY = 1
OUTPUT_ONLY = 2
class usb_protocol.types.descriptors.uac2.GroupTerminalDefaultMidiProtocol(value)[source]

Bases: IntEnum

An enumeration.

MIDI_1_0_UP_TO_128_BITS = 3
MIDI_1_0_UP_TO_128_BITS_AND_JRTS = 4
MIDI_1_0_UP_TO_64_BITS = 1
MIDI_1_0_UP_TO_64_BITS_AND_JRTS = 2
MIDI_2_0 = 17
MIDI_2_0_AND_JRTS = 18
USE_MIDI_CI = 0
class usb_protocol.types.descriptors.uac2.GroupTerminalNumber(value)[source]

Bases: IntEnum

An enumeration.

GROUP_1 = 0
GROUP_10 = 9
GROUP_11 = 10
GROUP_12 = 11
GROUP_13 = 12
GROUP_14 = 13
GROUP_15 = 14
GROUP_16 = 15
GROUP_2 = 1
GROUP_3 = 2
GROUP_4 = 3
GROUP_5 = 4
GROUP_6 = 5
GROUP_7 = 6
GROUP_8 = 7
GROUP_9 = 8
class usb_protocol.types.descriptors.uac2.InputTerminalTypes(value)[source]

Bases: IntEnum

An enumeration.

DESKTOP_MICROPHONE = 514
INPUT_UNDEFINED = 512
MICROPHONE = 513
MICROPHONE_ARRAY = 517
OMNI_DIRECTIONAL_MICROPHONE = 516
PERSONAL_MICROPHONE = 515
PROCESSING_MICROPHONE_ARRAY = 518
class usb_protocol.types.descriptors.uac2.MidiStreamingGroupTerminalBlockDescriptorSubtypes(value)[source]

Bases: IntEnum

An enumeration.

GR_TRM_BLOCK = 2
GR_TRM_BLOCK_HEADER = 1
GR_TRM_BLOCK_UNDEFINED = 0
class usb_protocol.types.descriptors.uac2.MixerControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

MU_CLUSTER_CONTROL = 2
MU_CONTROL_UNDEFINED = 0
MU_LATENCY_CONTROL = 5
MU_MIXER_CONTROL = 1
MU_OVERFLOW_CONTROL = 4
MU_UNDERFLOW_CONTROL = 3
class usb_protocol.types.descriptors.uac2.ModulationDelayEffectUnitControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

MD_BALANCE_CONTROL = 2
MD_CONTROL_UNDEFINED = 0
MD_DEPTH_CONTROL = 4
MD_ENABLE_CONTROL = 1
MD_FEEDBACK_CONTROL = 6
MD_LATENCY_CONTROL = 9
MD_OVERFLOW_CONTROL = 8
MD_RATE_CONTROL = 3
MD_TIME_CONTROL = 5
MD_UNDERFLOW_CONTROL = 7
class usb_protocol.types.descriptors.uac2.OutputTerminalTypes(value)[source]

Bases: IntEnum

An enumeration.

COMMUNICATION_SPEAKER = 774
DESKTOP_SPEAKER = 772
HEADPHONES = 770
LOW_FREQUENCY_EFFECTS_SPEAKER = 775
OUTPUT_UNDEFINED = 768
ROOM_SPEAKER = 773
SPEAKER = 769
class usb_protocol.types.descriptors.uac2.OverflowControl(value)[source]

Bases: IntEnum

An enumeration.

HOST_PROGRAMMABLE = 3072
HOST_READ_ONLY = 2048
NOT_PRESENT = 0
class usb_protocol.types.descriptors.uac2.OverloadControl(value)[source]

Bases: IntEnum

An enumeration.

HOST_PROGRAMMABLE = 48
HOST_READ_ONLY = 32
NOT_PRESENT = 0
class usb_protocol.types.descriptors.uac2.ParametricEqualizerSectionEffectUnitControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

PE_CENTERFREQ_CONTROL = 2
PE_CONTROL_UNDEFINED = 0
PE_ENABLE_CONTROL = 1
PE_GAIN_CONTROL = 4
PE_LATENCY_CONTROL = 7
PE_OVERFLOW_CONTROL = 6
PE_QFACTOR_CONTROL = 3
PE_UNDERFLOW_CONTROL = 5
class usb_protocol.types.descriptors.uac2.ProcessingUnitProcessTypes(value)[source]

Bases: IntEnum

An enumeration.

DOLBY_PROLOGIC_PROCESS = 2
PROCESS_UNDEFINED = 0
STEREO_EXTENDER_PROCESS = 3
UP_DOWNMIX_PROCESS = 1
class usb_protocol.types.descriptors.uac2.ReverberationEffectUnitControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

RV_CONTROL_UNDEFINED = 0
RV_DENSITY_CONTROL = 7
RV_ENABLE_CONTROL = 1
RV_FEEDBACK_CONTROL = 5
RV_HIFREQ_ROLLOFF_CONTROL = 8
RV_LATENCY_CONTROL = 11
RV_LEVEL_CONTROL = 3
RV_OVERFLOW_CONTROL = 10
RV_PREDELAY_CONTROL = 6
RV_TIME_CONTROL = 4
RV_TYPE_CONTROL = 2
RV_UNDERFLOW_CONTROL = 9
class usb_protocol.types.descriptors.uac2.SelectorControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

SU_CONTROL_UNDEFINED = 0
SU_LATENCY_CONTROL = 2
SU_SELECTOR_CONTROL = 1
class usb_protocol.types.descriptors.uac2.SidebandProtocols(value)[source]

Bases: IntEnum

An enumeration.

PRES_TIMESTAMP_PROTOCOL = 2
PROTOCOL_UNDEFINED = 0
class usb_protocol.types.descriptors.uac2.StereoExtenderProcessingUnitControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

ST_EXT_CONTROL_UNDEFINED = 0
ST_EXT_ENABLE_CONTROL = 1
ST_EXT_LATENCY_CONTROL = 5
ST_EXT_OVERFLOW_CONTROL = 4
ST_EXT_UNDERFLOW_CONTROL = 3
class usb_protocol.types.descriptors.uac2.TelephonyTerminalTypes(value)[source]

Bases: IntEnum

An enumeration.

DOWN_LINE_PHONE = 1283
PHONE_LINE = 1281
TELEPHONE = 1282
TELEPHONY_UNDEFINED = 1280
class usb_protocol.types.descriptors.uac2.TerminalControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

TE_CLUSTER_CONTROL = 4
TE_CONNECTOR_CONTROL = 2
TE_CONTROL_UNDEFINED = 0
TE_COPY_PROTECT_CONTROL = 1
TE_LATENCY_CONTROL = 7
TE_OVERFLOW_CONTROL = 6
TE_OVERLOAD_CONTROL = 3
TE_UNDERFLOW_CONTROL = 5
class usb_protocol.types.descriptors.uac2.TypeIFormats(value)[source]

Bases: IntEnum

An enumeration.

ALAW = 8
IEEE_FLOAT = 4
MULAW = 16
PCM = 1
PCM8 = 2
TYPE_I_RAW_DATA = 2147483648
class usb_protocol.types.descriptors.uac2.TypeIIFormats(value)[source]

Bases: IntEnum

An enumeration.

AC_3 = 2
DTS = 8
MPEG = 1
TYPE_II_RAW_DATA = 2147483648
WMA = 4
class usb_protocol.types.descriptors.uac2.TypeIIIFormats(value)[source]

Bases: IntEnum

An enumeration.

IEC61937_AC_3 = 1
IEC61937_ATRAC = 1024
IEC61937_ATRAC2_3 = 2048
IEC61937_DTS_I = 128
IEC61937_DTS_II = 256
IEC61937_DTS_III = 512
IEC61937_MPEG_1_Layer1 = 2
IEC61937_MPEG_1_Layer2_3 = 4
IEC61937_MPEG_2_AAC_ADTS = 16
IEC61937_MPEG_2_EXT = 8
IEC61937_MPEG_2_Layer1_LS = 32
IEC61937_MPEG_2_Layer2_3_LS = 64
IEC61937_MPEG_2_NOEXT = 4
TYPE_III_WMA = 4096
class usb_protocol.types.descriptors.uac2.TypeIVFormats(value)[source]

Bases: IntEnum

An enumeration.

AC_3 = 64
ALAW = 8
IEC60958_PCM = 2097152
IEC61937_AC_3 = 256
IEC61937_ATRAC = 262144
IEC61937_ATRAC2_3 = 524288
IEC61937_DTS_I = 32768
IEC61937_DTS_II = 65536
IEC61937_DTS_III = 131072
IEC61937_MPEG_1_Layer1 = 512
IEC61937_MPEG_1_Layer2_3 = 1024
IEC61937_MPEG_2_AAC_ADTS = 4096
IEC61937_MPEG_2_EXT = 2048
IEC61937_MPEG_2_Layer1_LS = 8192
IEC61937_MPEG_2_Layer2_3_LS = 16384
IEC61937_MPEG_2_NOEXT = 1024
IEEE_FLOAT = 4
MPEG = 32
MULAW = 16
PCM = 1
PCM8 = 2
TYPE_III_WMA = 1048576
WMA = 128
class usb_protocol.types.descriptors.uac2.USBTerminalTypes(value)[source]

Bases: IntEnum

An enumeration.

USB_STREAMING = 257
USB_UNDEFINED = 256
USB_VENDOR_SPECIFIC = 511
class usb_protocol.types.descriptors.uac2.UnderflowControl(value)[source]

Bases: IntEnum

An enumeration.

HOST_PROGRAMMABLE = 768
HOST_READ_ONLY = 512
NOT_PRESENT = 0
class usb_protocol.types.descriptors.uac2.UpDownMixProcessingUnitControlSelectors(value)[source]

Bases: IntEnum

An enumeration.

UD_CLUSTER_CONTROL = 3
UD_CONTROL_UNDEFINED = 0
UD_ENABLE_CONTROL = 1
UD_LATENCY_CONTROL = 6
UD_MODE_SELECT_CONTROL = 2
UD_OVERFLOW_CONTROL = 5
UD_UNDERFLOW_CONTROL = 4