A very smart work.
But .... maybe still green for c++ usage ? ( I hate to say that, but early adopter are unfortunately adopter or early bugs)
Like a few other members on the forum, calling StopNUICamera(camera).
give an error that resist to various test.
”
First-chance exception at 0x77776fd8 in KinectInputBasicD.exe: 0xC0000005: Access violation reading location 0x8100424a.
HEAP[KinectInputBasicD.exe]: HEAP: Free Heap block 267488 modified at 2676e4 after it was freed
Windows has triggered a breakpoint in KinectInputBasicD.exe.
This may be due to a corruption of the heap, and indicates a bug in KinectInputBasicD.exe or any of the DLLs it has loaded.
“
Looks like I got it sometime multiple time before final exit (pressing “continue” in Vsdebugger), like if a static map or something stay improperly purged because previous called did crash.
I did reboot to purge driver & dll static if any but stay.
Sample seems to work fine. (or crash silently)
I test it single thread, so I am sure that StopNUICamera(camera) is called once loop to display buffer is stopped gracefully
Aside of that every thing went well before this call (I got images and depths display it etc ...)
sequence of call (simplified) was
GetNUIDeviceCount();
GetNUIDeviceSerial(0);
CreateNUICamera(pSerialID);
StartNUICamera(pCamera);
loop
GetNUICameraColorFrameRGB24(pCamera, frame, 500)
StopNUICamera(pCamera); <<<——Where it badly handle a heap object
DestroyNUICamera(pCamera);
Out of idea
- Wrong init sequence ?
- A DLL issue ? or a driver issue ? (looks like a kind of persistence exist)
- Is there a debug version of the dll stub CLNUIDevice.lib (and dll) ?
(that at least I narrow the call that make the early delete or free)
Thanks