Menu

#12 isochronous buffer packets offset/length

closed
nobody
None
5
2018-08-31
2010-11-23
No

I am using libusb-win32 to communicate with a OV550/OV5620 based webcam. I am using isochronous async reads to get the video data from the webcam. However, there is one problem. The data in the buffer (after a reap) is not contiguous, ie. there are holes in it. In order for me to know which parts in the buffer are data and which parts are garbage/empty, I need access to the URB's IsoPacket array. The Offset/Length value pairs of the IsoPacket array are the only way I can piece the video frames back together.

Example:

usb_reap_async returned 0x60

IsoPacket 0 - Offset = 0, Length = 0
IsoPacket 1 - Offset = 0xBF4, Length = 0
IsoPacket 2 - Offset = 0x17E8, Length = 0x54
...
IsoPacket 29 - Offset = 0x15AA4, Length = 0xC
..
IsoPacket 31 - Offset = 0x1728C, Length = 0

As you can see the 0x60 bytes of data are spread across 2 iso packets. Without the IsoPacket array Offset/Length information I can not locate the 0x60 bytes of data from the buffer.

Thank you in advance.

Discussion

  • Xiaofan Chen

    Xiaofan Chen - 2018-08-31

    Closing old entry. Please use libusb-win32 mailing list for future discussions.

     
  • Xiaofan Chen

    Xiaofan Chen - 2018-08-31
    • status: open --> closed
    • Group: --> Next_Release_(example)
     

Log in to post a comment.