You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
it would be great if someone who understands threading better could look over this.
it seems like freenect_process_events doesn't return when there are no devices to check on. so the (m_devices.size() > 0) thing combined with the sleep(1) gives the thread enough time to make it likely that freenect_process_events isn't called unless there are some device(s) to process. but if this is the reason, there should probably be a mutex that is shared between createDevice, deleteDevice and wrapped around the call to freenect_process_events as well.
edit: that sleep(1) is actually a bad idea. it's also enough time for the depth and video callbacks not to get called if you have another thread (like your GL loop) trying to check if there's a new frame... hrm...
The text was updated successfully, but these errors were encountered:
libfreenect v0.4.0 Oracle
* tag 'v0.4.0':
Update for v0.4.0
All headers (including libfreenect.hpp) are installed to `$PREFIX/include/libfreenect/`. All libfreenect files have `#include "libfreenect.h"` rather than `#include <libfreenect.h>`. This works during build and after installation all include files are in the same directory. Rename libfreenect-audio.h -> libfreenect_audio.h and libfreenect-registration.h -> libfreenect_registration.h. This makes them consistent with other libraries.
wrappers/cpp: Call freenect_process_events_timeout in loop to prevent freezes - fixesOpenKinect#223
OpenNI2-FreenectDriver: Fix silly silly string bugs; improve logging Fix ebuild for filename change
OpenNI2-FreenectDriver: Convert all printf and cout statements to log messages
Invoke fwfetcher.py with python2 - fixesOpenKinect#370 Refine README.md
Remove C99 syntax - fixesOpenKinect#369
Shiny new README.md Beautify ebuild and add audio USE flag
Read int from fgetc for EOF comparison - fixesOpenKinect#365
Replaced missing variable - fixesOpenKinect#366
Post-merge cleanup
small changes to allow compile on windows / visual studio
Removed memset() after free() causing sporadic crashes when unplugging devices
Fix ebuild
Supports loading audio fw from memory as well as disk. Supports tilt,accel and led for K4W and 1473 device. Adds keep alive for K4W and 1473. Signed-off-by: Theodore Watson theo@openframeworks.cc (ofTheo)
This code sets the LED of a 1473 Kinect or K4W Kinect to red on startup. This seems to fix a known issue for OS X users where the device renumerates within a small time period and causes a freeze. ClosesOpenKinect#340 and addresses OpenKinect#316. Signed-off-by: Theodore Watson <theo@openframeworks.cc> (ofTheo)
Remove outdated ebuild
Add manpages for fakenect and fakenect-record
Prefix freenect- to the name of the installed demos
Rename record binary of fakenect as fakenect-record
i'm noticing that the threaded function in Freenect::operator()() seems to lock up at pthread_join when:
1 you have no devices plugged in
2 you are closing an app (and there are no devices left)
i'm not sure what the exact reason is for this, but i'm getting much more stable performance by wrapping it with these two lines:
it would be great if someone who understands threading better could look over this.
it seems like freenect_process_events doesn't return when there are no devices to check on. so the (m_devices.size() > 0) thing combined with the sleep(1) gives the thread enough time to make it likely that freenect_process_events isn't called unless there are some device(s) to process. but if this is the reason, there should probably be a mutex that is shared between createDevice, deleteDevice and wrapped around the call to freenect_process_events as well.
edit: that sleep(1) is actually a bad idea. it's also enough time for the depth and video callbacks not to get called if you have another thread (like your GL loop) trying to check if there's a new frame... hrm...
The text was updated successfully, but these errors were encountered: