Change log and planned features
Planned features and changes
libwebcam
The following improvements related to dynamic controls are planned for upcoming versions.
- Fix compatibility with uvcvideo revisions >178 which introduce changes to the V4L2 control IDs. (Scheduled for 0.1.2)
- Support for device matching using the <match> elements in the XML file.
- More and better documentation.
- Validation-only mode to validate XML configuration files for dynamic controls.
- Automatic validation against the provided XML schema.
- Automatic header file generation using XSLT. This will allow extraction of constants defined in the XML file to a header file.
- Support for the UVC driver's UVC_CONTROL_RESTORE flag.
- Support for controls without V4L2 mappings.
- Support for the UVCIOC_CTRL_GET and UVCIOC_CTRL_SET ioctls.
Dynamic controls configuration file
- Continuous support for new 2008 cameras
Change log
libwebcam
0.1.1 (beta), 2008-01-29:
- Added support the V4L2_CTRL_FLAG_READ_ONLY flag.
- Added per handle tracking of the last system error and a new c_get_handle_error_text function that allows a handle's last system error to be retrieved in certain cases (C_V4L2_ERROR).
- Added a test to check whether the driver supports dynamic controls or not. This should prevent some confusing error 22 messages when "uvcdynctrl -i" is used with an old driver.
- Process meta information and constants only while parsing the XML document for the first time (during the first device).
- Implemented support for processing statistics.
- Added some informational messages, e.g. about skipped devices.
- Added a define to suppress EEXIST errors for all but the first device.
- Improved the way the device is picked. Instead of just taking the first device, all devices are now looped through and supported UVC devices get their controls and mappings added. This is not quite necessary at the moment because the UVC driver still has global controls but that may change in the future.
- Added a stub implementation of c_add_control_mappings_from_file for when DISABLE_UVCVIDEO_DYNCTRL is set.
- Added a workaround for the current UVC driver's problematic V4L2_CID_EXPOSURE_AUTO control. This is a menu control whose menu choices don't have contiguous IDs but { 1, 2, 4, 8 } instead. For the moment, the library just skips that control.
- Improved detection of invalid menu controls whose full choice range is not correctly queriable.
- Fix: Bogus warning messages related to the V4L2 control types 'Button' and 'Integer64'. Support for these types in libwebcam is still missing, though.
- Fix: Device enumeration issue with V4L1 devices present in the system.
- Fix: Reorganizations in the control enumeration code and inclusion of a workaround for some dangerous behavior in the bttv driver. (Thanks to Bruno Grasland for his bttv testing!)
- Fix: Problem in c_enum_frame_intervals if a non-discrete frame size was passed. The function now returns C_INVALID_ARG in this case.
- Fix: A segfault would occur in c_enum_pixel_formats with unknown pixel formats (i.e. pixel formats without hardcoded MIME type).
- Fix: Disabling USE_UVCVIDEO now works again and also sets DISABLE_UVCVIDEO_DYNCTRL. This allows compiling libwebcam without the uvcvideo header files.
0.1 (alpha), 2007-11-02:
Initial release to the public.
uvcdynctrl
0.2, 2008-01-29:
- Experimental support for udev (support script and rules).
- Added a new option -f or --formats to list a device's frame format list (pixel formats, frame sizes, and frame intervals).
- Make use of the improved error message reporting in libwebcam.
- Added support for displaying processing statistics in verbose mode.
- Support for the new informational messages (dynctrl).
- Added a hint to the quick help on how to set negative control values.
- Fix: Import (-i) no longer needs a valid device to be specified (or the default video0 to be present).
0.1, 2007-11-02:
Initial release to the public.
Dynamic controls configuration file
0.15, 2008-01-25:
- Added a control to change the LED blink frequency.
- Added the two controls required for enabling Bayer mode (Disable video processing and Raw bits per pixel).
0.14, 2007-11-19:
- Fixed the bitmap indices which were off by one.
0.13, 2007-11-16:
- Added focus motor control for cameras that support it (QuickCam Pro 9000, QuickCam Pro for Notebooks, QuickCam Orbit/Sphere AF).
- Added the pan/tilt reset control for the QuickCam Orbit/Sphere series.
- Added a control to change the LED mode.
0.12, 2007-11-02:
Initial release to the public.
Powered by
Plone CMS.