Alan Stern пишет:
> On Tue, 17 Oct 2006, Rumjantsev Egor wrote:
>
>   
>> Hello.
>> I develop a driver for USB 2.0 camera. I need to  transfer about 22 Mb/s 
>> of video data from it. Also i need to know some information about 
>> internal camera's state and i use for it usb_control_msg function. I 
>> call usb_control_msg about 1-2 times per second. After starting of 
>> stream of video data i noticed that some part of data is lost. I find 
>> out that this loosing of data can be after call usb_control_msg. If i 
>> didn't call it nothing is lost.
>>     
>
> What do you mean, data is lost?  Do you mean that some of the video data 
> URBs fail?  Or do you mean that the camera doesn't transfer as much data 
> as you expect?  Or do you mean something else?
>
>   
Sorry if i explained badly for understanding. My English isn't good enough.
When i started video stream from camera data transfers frame per frame. 
Each frame has a frame marker. It transfers in the first word of each 
frame. When i told that video data is lost i meant that after few 
seconds i found the frame marker not in the first word of the frame but 
with some offset. It means that some data from current frame were lost. 
But all urb returned with right value of data that i wanted to read.
The situation that i described appears when i call 1-2 times per second 
usb_control_msg to ask camera about it internal state. If i don't call 
this function all works fine and the frame marker is placed in right 
position.
So i don't understand where is mistake is taken place. If we see from 
point of view of urb - all urb returned right value of size and we 
shouldn't raise any claims. The most interesting thing for me how the 
data can disappear completely but i use the bulk mode so this mode 
promise guarantee of delivery all data.
>> I receive data with 4 urb in queue. I tried to change the size of urb 
>> (4096...61440 bytes) but it didn't help - the data is lost
>> So i'd like to know why this happened. I understand that usb_control_msg 
>> isn't finished until its callback function not called or timeout is not 
>> finished but i though that data receive process not freeze in that moment.
>> I use Mandriva 2006; Kernel version 2.6.13.5
>>     
>
> Maybe the camera doesn't like to handle control messages while it is 
> transferring video data.
>
>   
There is driver for Windows where all works normally and control 
messages also sending in the moment of transferring data without loosing 
of data.

> Alan Stern
>
>   

-- 
Rumjantsev Egor


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to