UPDATE: It doesn't have to be from two different processes. I added voice recognition support to the C++ app that does the (full) hand tracking and got the same crash with one small difference. I was able, sometimes not always, to get 1 to 3 successful recognitions before getting the crash. Other times the crash happened right after initialization.
Has anybody been able to get full hand tracking working with speech recognition active at the same time!
UPDATE 2: I have no isolated the operation that causes the speech recognition engine to fail. It's right after I initialize the PXCSenseManager session via it's Init() call. If I don't make that call (and obviously don't do any subsequent SDK calls), then the speech recognition works fine. The instant I do make that call, the speech recognition engine gets the REC_ABORT and REC_END calls as indicated below. So just initializing the session is enough to cause the problem. Note, I'm sure it's not my code because you can run the test below with the un-modified Intel Hands Viewer and Speech Recognition samples to reproduce the problem.
---- Original Message ----
I have a two apps that cooperate to implement my total RealSense enabled app. One app handles hand tracking and the other does voice recognition. However that doesn't work because the speech recognition thread in the app doing speech recognition always fails quickly with a REC_ABORT followed by a REC_END message. I originally thought the problem might be a CPU overload issue as I wrote here:
However that is not the case. You simply don't seem to be able to have one processes talking to the camera while another process does speech recognition. Here's a real simple test:
- Run the Hands Viewer sample from the Intel RSSDK code samples. Start the sample until you see the depth video stream.
- Run the Speech Recognition sample next.
When you start the Speech Recognition sample, soon after you see the "Init OK" message you will see the REC_ABORT and REC_END messages. If you stop the Hands Viewer sample and shut it down, the Speech Recognition sample works again.
So is it not possible at all to have one process access the SDK/camera for hand tracking and another process do speech recognition? If it is possible, how do I make that happen?