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.

failure to implement MB3 codec in CodecServer



I have a working TI_GST plugin on a Beagleboard-xM Ref C. The shiped codecServer works fine with:

root:-# gst-launch filersrc location=/home/root/a.aac ! TIAuddec1 codecName=aachedec engineName=codecServer ! alsasink sync=false

Now i try to include the MP3DEC Codec shipped by TI to the CodecServer and compile it with Open Embedded (http://processors.wiki.ti.com/index.php/How_do_I_Integrate_new_codecs_into_DVSDK) which worked properly but when i try to use it with the TI_GST plugin, it is not working. I made a .log file of:

root:-# CE_DEBUG=3 gst-launch --gst-debug=TIAuddec1:5  filersrc location=/home/root/a.mp3 ! TIAuddec1 codecName=mp3dec engineName=codecServer ! alsasink sync=false

and hopefuly someone can help me or tell me where to ask.

Thanks

Wendelin

 

2671.MP3_CE_DEBUG=3.log

  • I don't have your answer, but I can tell what's going on under the hood from your log - hopefully someone more familiar with GStreamer can chime in with further advice.

    If you search your log file for "Warning", you'll see many statements like this:

    @0,734,253us: [+5 T:0x4211e490 S:0x4211dc64] CE - Engine_initFromServer> Warning: No stub functions were found for AUDDEC1_STUBS. The algorithm that requires these stub functions cannot be run remotely.

    This statement means the following occured...
    • The ARM side loaded the DSP Server and asked it for its list of codecs.
    • The list that came back included a codec that implemented IAUDDEC1.
    • The ARM-side did a lookup to see if it has support for remote IAUDDEC1 codecs (that's the lookup for AUDDEC1_STUBS)
    • The lookup failed (it wasn't built with remote IAUDDEC1 codec support), so it prints a warning and continues.
    This is just a warning b/c different ARM side apps may never want to create all the codecs remotely, so they don't _have_ to include remote IAUDDEC1 codec support.  However, in this case, you actually tried to create the remote codec, so an error is printed.  That's what you see here:

    @0,743,683us: [+0 T:0x4211e490 S:0x4211dbe4] ti.sdo.ce.audio1.AUDDEC1 - AUDDEC1_create> Enter (engine=0x166390, name='mp3dec', params=0x4211dde8)
    @0,743,775us: [+0 T:0x4211e490 S:0x4211dbb4] CV - VISA_create(0x166390, 'mp3dec', 0x4211dde8, 0x488, 'ti.sdo.ce.audio1.IAUDDEC1')
    @0,743,805us: [+0 T:0x4211e490 S:0x4211daac] CV - VISA_create2(0x166390, 'mp3dec', 0x4211dde8, 0x10, 0x488, 'ti.sdo.ce.audio1.IAUDDEC1')
    @0,743,836us: [+6 T:0x4211e490 S:0x4211daac] CV - VISA_create2> FAILED to get IALG functions.

    However the ARM-side app was built, it needs to include support for remote AUDDEC1-class codecs.  That's where I run out of details - I don't know how the GStreamer app/libs are built.

    Chris
  • Thank you

    That helped a lot. I just had to recompile the Codec Server and link (copy) it to the GST plugin before compiling it. 

    Now i can open the mp3dec Codec but it is not working properly, it seems that it have sync proplems. The aachedec codes still works fine. Hopefuly you can help me with this also.

    I attach the .logfiles

     

    Moreover i try to create a codec server in CCS4 and import it to the GST plugin but without any success (neither the aachedec is working). Are there problems to import the binary from Windows to Linux?

    Or is there a bether way to start audio Codec development as using CCS and Gstreamer?

     

    Thanks

    Wendelin

    3755.CE_DEBUG=3.log

    0624.--gst-debug=5.txt