I'm new to libdc1394, and I'm experiencing problems working with an old (but supported) camera - PixeLink PL-A662.
I managed to build libdc1394 on my MacOS 10.7.5. I then tried a very simple test program that should only identify and log a list of attached cameras:

#import "AppDelegate.h"
#import <dc1394/dc1394.h>
@interface AppDelegate() {
    dc1394_t* _driver;
@implementation AppDelegate
- (id) init {
    if(self = [super init];) {
        self->_driver = dc1394_new();

    return self;


- (void) applicationDidFinishLaunching:(NSNotification *)aNotification {
    dc1394camera_list_t* cameraList = NULL;
    dc1394camera_t* currentCamera = NULL;
    dc1394camera_id_t* cameraId = NULL;    
    // enumerate found cameras.
    if(self->_driver) {
        dc1394_camera_enumerate(self->_driver, &cameraList);

        if(cameraList)  {

            for(int i = 0; i < cameraList->num; i++) {
                cameraId = cameraList->ids;

                currentCamera = dc1394_camera_new(self->_driver, cameraId->guid);

                if(currentCamera) {

                    NSLog(@"\nvendor : \"%s\"\nmodel : \"%s\" \nguid : \"%llx\"", currentCamera->vendor, currentCamera->model, currentCamera->guid);







- (void) dealloc {
    if(self->_driver) {

Now --- The camera is connected, and seems to work (its led lights green and I can see it in the Apple System Report: 

FireWire Bus:
  Maximum Speed: Up to 800 Mb/sec
Unknown Device:
  Manufacturer: 0x168
  GUID: 0x1687300080382
  Maximum Speed: Up to 400 Mb/sec
  Connection Speed: Up to 400 Mb/sec
Unknown Unit:
  Unit Software Version: 0x103
  Unit Spec ID: 0x168

But my libdc1394 based test program fails to report it. Specifically in the code above - cameraList->num is 0;
I turned on Debug logging in libdc1394, and I receive the following log:

libdc1394 debug: Initializing platform 0: macosx
libdc1394 debug: Initialized platform 0
libdc1394 debug: Enumerating cameras...
libdc1394 debug: Enumerating platform macosx
libdc1394 debug: Platform macosx has 1 device(s)
libdc1394 debug: Got 22 quads of config ROM

and that is all. Any idea? Something stupid I've done? What to test next? 

Motti Shneor
Ceterum censeo Microsoftinem delendam esse