Skip to content

Commit df8058a

Browse files
committed
usb: Use less transfers for multi-Kinect setup
Windows can only poll() 64 fds at once.
1 parent f5b0b1b commit df8058a

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/libfreenect2.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -659,9 +659,15 @@ bool Freenect2DeviceImpl::open()
659659
unsigned ir_pkts_per_xfer = 8;
660660
unsigned ir_num_xfers = 60;
661661

662-
#ifdef __APPLE__
662+
#if defined(__APPLE__)
663663
ir_pkts_per_xfer = 128;
664664
ir_num_xfers = 4;
665+
#elif defined(_WIN32) || defined(__WIN32__) || defined(__WINDOWS__)
666+
// For multi-Kinect setup, there is a 64 fd limit on poll().
667+
rgb_xfer_size = 1048576;
668+
rgb_num_xfers = 3;
669+
ir_pkts_per_xfer = 64;
670+
ir_num_xfers = 8;
665671
#endif
666672

667673
const char *xfer_str;

0 commit comments

Comments
 (0)