[libdc] Big patch committed
Capture and control API for IIDC compliant cameras
Brought to you by:
ddouxchamps,
gordp
From: David M. <dcm@MIT.EDU> - 2007-11-26 07:13:18
|
I have committed my "big patch" that migrates the linux, juju, and Mac OS X platforms to the new API for camera enumeration. The dc1394_find_cameras() function is now gone. All the examples have been updated to properly use the new enumeration method. The net effect of this patch is actually that the library is now 300 lines of code shorter. I guess that's a good omen that this new approach should make everything leaner and meaner. The API that defines platform-specific interaction is now defined in dc1394/platform.h. Of course, this is private to the library and is not exposed to clients. Platforms now simply provide a list of all firewire devices to the library with a config ROM, and the library will sort out which are cameras and which are not. This simplifies most of the platform-specific code and should make it easier to maintain. The common enumeration routines have been split out from dc1394/control.c and are now in dc1394/enumeration.c. There are still some cleanups I intend to do, but they are smaller in scope, so please feel free to commit new patches to SVN now. Some of the things I still need to do: - Remove volatile quantities from the dc1394camera_t struct. - Make sure all public function names start with dc1394_ - Clean up some naming inconsistencies Some of the things I need to work with Damien and others to do: - Change the error handling mechanism of the library. If you are using the SVN version of libdc1394, please give these new changes a whirl and let me know if I've horribly broken anything. Thanks, David |