This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

question about create link

hello everyone,

    Now,I want to create two links that can run on DSP,one is used to AEC(echo cancellation),another is used to ENC(audio encode), I connect this two link,and they can run normally sometimes,but after a period of time,it will appear the "segmentation fault" error,then the project will exit.

I want to known, when create two different link,if need some set in order to insure synchronous between this two link.

Thanks for any reply!

  • Segmentation fault happens on A8. I don't understand the  relation to running two links on DSP . Why do you think seg fault is caused by running two links on DSP ? What is the cause of the segfault?  You should be able to determine it from the  backtrace at point of segfault.

  • thanks Badri,I find the reason that cause the segmentation fault is that I can't get empty buffer from DSP,I want to known on which case it can't get empty buffers.

    my data flow is like this:

    thread1(put data to DSP)---->ipcBitsOutHostLINK---->ipcBitsInDspLINK---->algLINK(spend 15 ms)---->ipcBitsOutDspLINK---->ipcBitsInHostLINK----->thread2(get data from dsp)

    thread1: 

    IpcBitsOutLink_getEmptyVideoBitStreamBufs--->IpcBitsOutLink_putFullVideoBitStreamBufs

    the question is that after a period of time I can't get empty buffer,only when I delay 2ms in thread1,I will get enpty buffer normally.

    I am confused Why need to delay.

  • If you find no free buffer when you do IpcBitsOutLink_getEmptyVideoBitStreamBufs you should sleep and retry .Buffer will be available only when DSP processes and frees the buffer.