Web lists-archives.com

[Spca50x-devs] libv4l release: 0.5.6 (The UVC release)

Hi All,

And another release, well 2 actually, so close together I never got a change to 
release 0.5.5, but as it is out there, I decided to things properly and jump to 
0.5.6 for the second fix in this announcement.

So these 2 releases are all about UVC, uvc cams support the enum_framesize 
ioctrl, and gstreamer uses this and then also tries the enum_framerate ioctrl, 
libv4l used to generate lots of try_fmt calls for each (emulated) 
enum_framerate call, as try_fmt actually generates IO on UVC cams, this made 
things slow, and worse made some buggy cams crash.

The second UVC related fix, is a work around for some UVC cams not liking 
libv4l not sending a setfmt before starting the stream, if the current format 
matches the to set format. This is fixed in at the driver level for 2.6.28, but 
in the mean time I've added a workaround to make these cams work with libv4l 
and older kernels.

* Always do a s_fmt on uvc cams even if this changes nothing, as not doing
   the s_fmt triggers a bug in the uvcvideo driver in kernel <= 2.6.28
   (with certain cams)

* Avoid the use of try_fmt as much as possible on UVC cams, instead use the
   results of the enum_framesizes ioctl. This is because:
   1) try_fmt actually causes IO with UVC cams making apps which do lot of
      querrying of device capabilities slow (cheese)
   2) some buggy cams don't like getting lots of UVC video probes and crash
      when they do

Get it here:



This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
Spca50x-devs mailing list