Dan,
I pasted the specifications of my USB device below. And the time for
submitting 40 and 80 Irps are approximately 480 and 960 ms. It looks like 12
ms is still needed per irp.
I used one of the alternate interface settings, which has IN iso endpoint.
And thanks to your help before, I can submit various audio class requests to
the device to play with the settings of Mute, Volume, Automatic Gain, and
Sampling Frequency. I am not sure what specific settings I have to make to
make iso transfer work?
Thanks
Charles
Bus 002 Device 002: ID 077d:07af Griffin Technology
Device Descriptor:
bLength 18 // Size of the descriptor, in bytes
bDescriptorType 1 // 0x01:DEVICE descriptor; 0x02:CONFIGURATION;
// 0x03:STRING; 0x04:INTERFACE; 0x05:ENDPOINT;
// 0x24:INTERFACE; 0x25:CS_ENDPOINT(ClassSpecific);
bcdUSB 1.10 // current revision of USB spec
bDeviceClass 0 (Defined at Interface level) // must be zero now
bDeviceSubClass 0 // must be zero now
bDeviceProtocol 0 // must be zero now
bMaxPacketSize0 8
idVendor 0x077d Griffin Technology
idProduct 0x07af
bcdDevice 0.06 // Device release code
iManufacturer 1 Griffin Technology, Inc
iProduct 2 iMic USB audio system
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 344
bNumInterfaces 3
bConfigurationValue 1 // id of this configuration
iConfiguration 3 D3 2003/10/30 09:27
bmAttributes 0x80 // Bus powered device, not self powered,
// no remote wakeup capability.
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00 // release of the Audio Device Class
wTotalLength 78
bInCollection 2 // how many AudioStreaming and
MIDIStreaming
// interfaces there are in the Audio Interface
// Collection to which this AudioControl
// interface belongs
baInterfaceNr( 0) 1 // this array contains the interface
numbers
baInterfaceNr( 1) 2 // of all the streaming interfaces in the
// collection
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL) // 0x01:HEADER/GENERAL;
// 0x02:INPUT_TERMINAL/FORMAT_TYPE;
// 0x03:OUTPUT_TERMINAL;
// 0x05:SELECTOR_UNIT
bTerminalID 12 // uniquely identifying the Terminal
within
// the audio function. this value is used in
// all requests to address this terminal
wTerminalType 0x0101 USB Streaming
bAssocTerminal 11 // ID of the output terminal to which this
// input terminal is associated
bNrChannels 2
wChannelConfig 0x0003 // specify the spatial positions
Left Front (L)
Right Front (R)
iChannelNames 0 // if one or more channels have
non-predefined
// spatial positions, their location
description
// can optionally be derived from this field
iTerminal 0 // index of a string descriptor,
describing the
// input terminal
AudioControl Interface Descriptor:
bLength 13
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT) // the feature unit (FU) is
// essentially a multi-channel processing
unit that
// provides basic manupulation of the incoming
// logical channels.
bUnitID 1
bSourceID 12 // indicates to which other Unit or
Terminal
// this unit or terminal is connected.
bControlSize 2 // number of bytes occupied by each
element
// of the bmaControls
bmaControls( 0) 0x55 // this array indicates the availability
of
bmaControls( 1) 0x01 // certain audio controls for a specific
// logical channel or for the master channel 0
// A bit set to 1 indicates that the mentioned
// control is supported for master channel 0:
// D0:Mute;D1:Volume;D2:Bass;D3:Mid;D4:Treble
// D5:Graphic Equalizer;D6:Automatic Gain
// D7:Delay;D8:Bass Boost;D9:Loudness
Mute
Bass
Treble
Automatic Gain
Bass Boost
bmaControls( 0) 0x02
bmaControls( 1) 0x00
Volume
bmaControls( 0) 0x02
bmaControls( 1) 0x00
Volume
iFeature 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 14
wTerminalType 0x0301 Speaker // 0x0201:Microphone;
0x0301:Speaker;
bAssocTerminal 0
bSourceID 1
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 11
wTerminalType 0x0201 Microphone
bAssocTerminal 12
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor: // this the the feature unit for
microphone
bLength 13
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 6
bSourceID 11
bControlSize 2
bmaControls( 0) 0x03
bmaControls( 1) 0x00
Mute
Volume
bmaControls( 0) 0x00
bmaControls( 1) 0x00
bmaControls( 0) 0x00
bmaControls( 1) 0x00
iFeature 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 13
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 6
iTerminal 0
Interface Descriptor: // this is the default interface setting, with
zero band
// width.
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor: // this the operating interface setting.
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 12 // contains the unique terminal id of the
input
// or output terminal to which this interface
is
// connected. 12 here is the input termainal,
// associated to microphone
bDelay 0 frames // a measure for the delay that is
introduced
// in the audio data stream due to internal
// processing of the signal within the audio
// function
wFormatTag 1 PCM // it holds information about the
Audio Data
// Format that should be used when
communicating
// with this interface
AudioControl Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 1
bSubframeSize 2 // bytes per audio subframe
bBitResolution 16 // bits per sample
bSamFreqType 0 Continuous
tLowerSamFreq 6400
tUpperSamFreq 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
Usage Type Data
wMaxPacketSize 0x0064 bytes 100 once
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 1 Decoded PCM samples
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 12
bDelay 0 frames
wFormatTag 1 PCM
AudioControl Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 0 Continuous
tLowerSamFreq 6400
tUpperSamFreq 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
Usage Type Data
wMaxPacketSize 0x00c8 bytes 200 once
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 1 Decoded PCM samples
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 13
bDelay 0 frames
wFormatTag 1 PCM
AudioControl Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 1
bSubframeSize 1
bBitResolution 8
bSamFreqType 0 Continuous
tLowerSamFreq 6400
tUpperSamFreq 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
Usage Type Data
wMaxPacketSize 0x0032 bytes 50 once // 50 bytes (25 two-byte
samples)
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01 // support sampling frequency, not pitch
Sampling Frequency
bLockDelayUnits 2 Decoded PCM samples // units used for
wLockDelay
wLockDelay 1 Decoded PCM samples // the time it takes
this
// endpoint to reliably lock its internal
clock
// recovery circuitry.
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 2
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 13
bDelay 0 frames
wFormatTag 1 PCM
AudioControl Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 1
bSubframeSize 2
bBitResolution 16
bSamFreqType 0 Continuous
tLowerSamFreq 6400
tUpperSamFreq 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
Usage Type Data
wMaxPacketSize 0x0064 bytes 100 once
bInterval 1 // inverval for polling endpoint for data
transfers
// expressed in milliseconds. Must be set to
1.
bRefresh 0
bSynchAddress 0 // must be set to 0.
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 1 Decoded PCM samples
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 3
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 13
bDelay 0 frames
wFormatTag 1 PCM
AudioControl Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 0 Continuous
tLowerSamFreq 6400
tUpperSamFreq 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
Usage Type Data
wMaxPacketSize 0x00c8 bytes 200 once
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 1 Decoded PCM samples
Language IDs: (length=4)
0409 English(US)
_________________________________________________________________
Is your PC infected? Get a FREE online computer virus scan from McAfee®
Security. http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963
-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP,
AMD, and NVIDIA. To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
javax-usb-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/javax-usb-devel