Error initializing SDK with camera detached and voice recognition module enabled

Error initializing SDK with camera detached and voice recognition module enabled

When using UtilPipeline class to access voice recognition capability and camera is detached, it throws an error "Expression: vector subscript out of range".

Using:

EnableVoiceRecognition();
Init();
        
Call Stack:
        
     msvcp110d.dll!std::_Debug_message(const wchar_t * message, const wchar_t * file, unsigned int line) Line 15    C++
     demo.exe!std::vector<PXCCapture::AudioStream::DataDesc *,std::allocator<PXCCapture::AudioStream::DataDesc *> >::operator[](unsigned int _Pos) Line 1140    C++
     demo.exe!UtilPipelineVoice::StackableSearchProfiles(UtilCapture * uc, std::vector<PXCCapture::VideoStream::DataDesc *,std::allocator<PXCCapture::VideoStream::DataDesc *> > & vinputs, int vidx, std::vector<PXCCapture::AudioStream::DataDesc *,std::allocator<PXCCapture::AudioStream::DataDesc *> > & ainputs, int aidx) Line 101    C++
     demo.exe!UtilPipelineStackable::StackableSearchProfiles(UtilCapture * capture, std::vector<PXCCapture::VideoStream::DataDesc *,std::allocator<PXCCapture::VideoStream::DataDesc *> > & vinputs, int vidx, std::vector<PXCCapture::AudioStream::DataDesc *,std::allocator<PXCCapture::AudioStream::DataDesc *> > & ainputs, int aidx) Line 25    C++
     demo.exe!UtilPipelineGesture::StackableSearchProfiles(UtilCapture * uc, std::vector<PXCCapture::VideoStream::DataDesc *,std::allocator<PXCCapture::VideoStream::DataDesc *> > & vinputs, int vidx, std::vector<PXCCapture::AudioStream::DataDesc *,std::allocator<PXCCapture::AudioStream::DataDesc *> > & ainputs, int aidx) Line 62    C++
     demo.exe!UtilPipelineStackable::StackableSearchProfiles(UtilCapture * capture, std::vector<PXCCapture::VideoStream::DataDesc *,std::allocator<PXCCapture::VideoStream::DataDesc *> > & vinputs, int vidx, std::vector<PXCCapture::AudioStream::DataDesc *,std::allocator<PXCCapture::AudioStream::DataDesc *> > & ainputs, int aidx) Line 25    C++
>    demo.exe!UtilPipelineFace::StackableSearchProfiles(UtilCapture * uc, std::vector<PXCCapture::VideoStream::DataDesc *,std::allocator<PXCCapture::VideoStream::DataDesc *> > & vinputs, int vidx, std::vector<PXCCapture::AudioStream::DataDesc *,std::allocator<PXCCapture::AudioStream::DataDesc *> > & ainputs, int aidx) Line 74    C++
     demo.exe!UtilPipelineStackable::StackableSearchProfiles(UtilCapture * capture, std::vector<PXCCapture::VideoStream::DataDesc *,std::allocator<PXCCapture::VideoStream::DataDesc *> > & vinputs, int vidx, std::vector<PXCCapture::AudioStream::DataDesc *,std::allocator<PXCCapture::AudioStream::DataDesc *> > & ainputs, int aidx) Line 25    C++
     demo.exe!UtilPipelineRaw::StackableSearchProfiles(UtilCapture * uc, std::vector<PXCCapture::VideoStream::DataDesc *,std::allocator<PXCCapture::VideoStream::DataDesc *> > & vinputs, int vidx, std::vector<PXCCapture::AudioStream::DataDesc *,std::allocator<PXCCapture::AudioStream::DataDesc *> > & ainputs, int aidx) Line 155    C++
     demo.exe!UtilPipelineRaw::Init() Line 21    C++
     demo.exe!PerceptualPipeline::PerceptualPipeline() Line 32    C++
     demo.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpCmdLine, int nCmdShow) Line 169    C++
     demo.exe!__tmainCRTStartup() Line 528    C
     demo.exe!wWinMainCRTStartup() Line 377    C
     kernel32.dll!76ce8543()    Unknown
     [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]    
     ntdll.dll!771aac69()    Unknown
     ntdll.dll!771aac3c()    Unknown

Platform: Windows 8 & Intel Perceptual Computing SDK 2013 GOLD (Version 7383)

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi,

Not sure if this is related to the issue we discovered earlier when Init is invoked without the camera.
You can refer to this topic: http://software.intel.com/en-us/forums/topic/380378 

Mikhail Nikolsky (Intel) has found the bug in the Util library last week and suggested a fix for that. So, you may try that and recompile the util library and see if that helps :-)   Good luck.

SMing 

Many thanks SMing, that fixed the problem indeed:

Quote:

Mikhail Nikolsky (Intel) wrote:

The issue reproduced and root caused to utility library.

To fix it, please modify 'vidx' to 'aidx' in file sample\common\src\util_pipeline_voice.cpp line 101 and recompile libpxcutils project:

        else ainputs[vidx]=&m_vrec_pinfo.inputs;
should be
        else ainputs[aidx]=&m_vrec_pinfo.inputs;

Great! Glad that works ;-)

cheers
SMing 

Leave a Comment

Please sign in to add a comment. Not a member? Join today