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.

Integrating audio codecs on dm355

Hi!

I've been working with dm355 processor and tried to integrate codecs for aac, mp3 and wma provided by ti. AAC encoder seems to work okay but when I tried to use the mp3 encoder I get this problem:

Caught SIGSEGV accessing address 0x696e5a00
Spinning.  Please run 'gdb gst-launch 335' to continue debugging, Ctrl-C to quit
, or Ctrl-\ to dump core.

I was reviewing the log that I got, and the value provided by algNumAlloc differs of the value provided by algAlloc. I don't know if this could be the memory problem that I'm getting.

Any ideas?

 

Thanks!

  • Hi Cristina,

    Can you post your dump file here?

    AFAIK,  SIGSEGV generally indicates that your process is attempting to access
    memory not allocated to it. SO it dies off, generating an error indicating the memory address it has been trying to access.

    Also, try using gdb to get exact memory maps at runtime of the processes that are being used.

    Regards,

    Sid

  • Hi Sid,

    Thanks for your reply. I'm debugging with gst-debug, CE_DEBUG and DMAI_DEBUG. I'm new so I don't know how to see the dump file yet.

    I posted what I got from the debugging here: http://pastebin.com/m37bb9de0

    I'll appreciate your suggestions

    Thanks!

     

     

     

  • Hi Cristina,

    The file you have posted doesnt seem to be giving any clues since the memory maps of the processes havent been explicitly mentioned.

    So can't quite point out the faulty one, can you try "gdb debugger"?

    Its better as far as debugging is concerned. Please post the results of "gdb debugger" or a snapshot of the same.

    Also, SIGSEGV has been a problem related to usage of older versions of the libraries with newer versions of other packages. Can you confirm that all the packages are upto date?

    Regards,

    Sid

  • Hi Cristina,

    Some more points which I noted on close study of the file -

    1. The number of memory records (Memrecs) returned by algNumAlloc is always greater than or equal to the number of memory records(Memrecs) returned by algAlloc. So that is not the problem (since algNumAlloc is returning 8 and algAlloc is returning 7). [:)]

    2. In the message "gdb gst-launch 335", the number 335 corresponds to the process ID of the process which has failed/died/stuck in a deadlock. Since the process ID is allocated at run-time, this number will change for each iteration.

    3. Although the process ID varies, it seems to be related to the same process during each iteration.It is the process which is assigned the address shown in SIGSEGV error. It is the result of illegal memory reference of an object when compiling with a library tool or a plugin.

    Hope this helps.

    Regards,

    Sid

  • Hi Sid!

    Thank you for your reply. I'm going to check that!!

    I'll let you know how it goes! I've been trying the same pipeline with an aac encoder, and it works just fine, but I get this problem with mp3 encoder.

    The code is basically the same for both encoders except for the capabilities that I have to set according to the format. So maybe it could be a problem with the package that contains this encoder.

    Regards,

    Cristina

     

     

  • Hi Cristina,

    I am curious to know if you solved the problem.

    Also, can you elaborate on which was the faulty process that was getting killed?

    Regards,

    Sid

  •  

    Hi Sid!

    I haven't solved my problem yet. What I'm doing is integrating audio codecs (wma, aac and mp3) on dm355 evm. These are the codecs provided by ittiam that you can download for free on TI's page if you do have a dm355 evm.

    So the mp3 encoder was the one giving me that memory problem, but the aac encoder works just fine with the same code. The only thing that changes from one to the other is the codec itself. So I used strace and got this log: http://pastebin.com/m118f7910. Which I didn't follow through sinceI decided to take a new approach, first I tried the examples that come with those three codecs, and they work out okay, meaning that my mp3 encoder should work. Meaning that all the tools and packages that I'm using should work with this codec, xdc, dvsdk, codec engine...

    I found out that I wasn't using the codec's extended parameters, and they are actually used in the examples. So right now, what I'm doing is that I'm setting the parameters according to the codec that is going to be used, hope that will give me some light on this issue.

    Thanks for asking, I will keep you informed on my progress!! Hope I won't get the same error with these changes!

     

     

     

  • Hi Cristina,

    Thanks for the update [:)]

    Now, theres a clearer picture of what you are facing.

    I read a similar post some time before, and came to the conclusion that including the USE flag 'debug' option in the compilation helped to overcome such a memory dereferencing error.

    Maybe you can try this out and check if it helps.

    Regards,

    Sid