Hi Andrea,

On Thursday 24 September 2009 23:03:17 Andrea Grandi wrote:
> Hi,
> 
> 2009/9/24 Laurent Pinchart <[email protected]>:
> > Hi Andrea,
> > Your log is truncated. Can you set the trace parameter to 127 and capture
> > the kernel log again ?
> 
> sorry, this was the right link: http://pastebin.com/m18f4f623
> 
> I hope this is ok.

Yes it is, thanks.

The log shows the Cheese opens the device four times to stream video data.

[ 2222.650758] uvcvideo: Trying format 0x56595559 (YUYV): 1280x800.
[ 2222.650761] uvcvideo: Using default frame interval 111111.1 us (9.0 fps).
...
[ 2224.759563] uvcvideo: Trying format 0x47504a4d (MJPG): 1280x800.
[ 2224.759566] uvcvideo: Using default frame interval 33333.3 us (30.0 fps).
...
[ 2230.361550] uvcvideo: Trying format 0x47504a4d (MJPG): 1280x800.
[ 2230.361553] uvcvideo: Using default frame interval 33333.3 us (30.0 fps).
...
[ 2241.682398] uvcvideo: Trying format 0x47504a4d (MJPG): 1280x800.
[ 2241.682401] uvcvideo: Using default frame interval 33333.3 us (30.0 fps).

The first time it captures a single YUV 1280x800 frame, the next three times 
it captures several MJPG 1280x800 frames.

The third capture run gets quite slow after some time:

[ 2232.317576] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QBUF)
[ 2232.317586] uvcvideo: Queuing buffer 1.
[ 2232.317835] uvcvideo: uvc_v4l2_ioctl(VIDIOC_DQBUF)
[ 2232.317840] uvcvideo: Dequeuing buffer 0 (3, 154384 bytes).
[ 2232.382032] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QBUF)
[ 2232.382041] uvcvideo: Queuing buffer 0.

There's a two seconds delay here between the time when buffer 0 is queued and 
the time the next buffer is dequeued. If the application waits two seconds 
before calling VIDIOC_DQBUF the driver can't do much about it.

[ 2234.067161] uvcvideo: uvc_v4l2_ioctl(VIDIOC_DQBUF)
[ 2234.067170] uvcvideo: Dequeuing buffer 1 (3, 157576 bytes).
[ 2234.119014] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QBUF)
[ 2234.119024] uvcvideo: Queuing buffer 1.
[ 2234.561870] uvcvideo: uvc_v4l2_ioctl(VIDIOC_DQBUF)
[ 2234.561879] uvcvideo: Dequeuing buffer 0 (3, 161384 bytes).
[ 2234.613641] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QBUF)
[ 2234.613650] uvcvideo: Queuing buffer 0.
[ 2235.859377] uvcvideo: uvc_v4l2_ioctl(VIDIOC_DQBUF)
[ 2235.859385] uvcvideo: Dequeuing buffer 1 (3, 159096 bytes).
[ 2235.910547] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QBUF)
[ 2235.910555] uvcvideo: Queuing buffer 1.
[ 2235.910742] uvcvideo: uvc_v4l2_ioctl(VIDIOC_DQBUF)
[ 2235.910747] uvcvideo: Dequeuing buffer 0 (3, 146648 bytes).
[ 2236.005059] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QBUF)
[ 2236.005068] uvcvideo: Queuing buffer 0.

I suspect that you're running into different issues with Cheese and Skype. As 
Skype is closed source, you should probably try to solve the Cheese problem 
first. I suspect it comes from userspace so you'll have to look there (either 
in Cheese itself, in gstreamer or in libv4l). strace might help.

-- 
Regards,

Laurent Pinchart
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to