The current implementation still does not reach 30 Hz on MacOS. This is due to bad scheduling of USB transfers in libusb. A fix can be found at http://www.informatik.uni-bremen.de/~roefer/libusb/libusb-osx-kinect.diff .
In camera.c, I use PKTS_PER_XFER = 128, NUM_XFERS = 4. There are a few rules: PKTS_PER_XFER * NUM_XFERS <= 1000, PKTS_PER_XFER % 8 == 0.Initialization seems to work better when send_init() is called before the transfer packets are submitted, i.e. before the loop in cams_init().
The current implementation still does not reach 30 Hz on MacOS. This is due to bad scheduling of USB transfers in libusb. A fix can be found at http://www.informatik.uni-bremen.de/~roefer/libusb/libusb-osx-kinect.diff .
In camera.c, I use PKTS_PER_XFER = 128, NUM_XFERS = 4. There are a few rules: PKTS_PER_XFER * NUM_XFERS <= 1000, PKTS_PER_XFER % 8 == 0.Initialization seems to work better when send_init() is called before the transfer packets are submitted, i.e. before the loop in cams_init().