I am developing a usb 2.0 pc camera driver on Mac os X,
I meet a problem,that is,
My camera supports usb 2.0 isoch transfer,and I have completed
this camera driver for Windows XP and it works very well.On Mac OS
X, I issue isoch read request as following steps,
-->match device and get device handle
-->configure device and set configuration,then get interface
-->SetAlternateInterface
-->CreateInterfaceAsyncEventSource
-->CFRunLoopAddSource
-->ReadIsochPipeAsync,
Also, I have create another thread to make image,the code as the following:
-->CFRunLoopSourceCreate
-->CFRunLoopAddSource
when iso packet return,then call
-->CFRunLoopSourceSignal
to invoke make image runtine to work.
PS:At this moment,my isoch frame list has 200 frames, and It can't work
properly.
But if I change my isoch frame list length to 1000,It can work,but the
latency
is very high.
So I use CATC USBTracer to catch data on usb bus.
I have caught the data on usb bus when I do preview by using HackTV on Mac
OS X and
the data on usb bus when I do preview by using Amcap on Windows XP,By
comparing this
two data packet,I find that when do preview there is only one Transfer on
Windows XP,
and there are many Transfers on Mac OS X and one Transfer has many
Transactions,the most
important thing is that the packet serial number is not continuous,Could you
tell me
why is it, and how can I do to decrease latency and increase FPS when doing
preview.
Thanks & Best regards.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/usb/email@hidden
This email sent to email@hidden