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