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

Reply via email to