[Live-devel] live555 stream aac raw problem

Ross Finlayson finlayson at live555.com
Mon Dec 13 23:37:01 PST 2010


>    I have live aac raw data,I implement own 
>audioservermediasession,overload virual creatertpsink function and 
>createstreamsource function.
>   code:
>
>    myownserversession::createNewRTPSink(....)
>{
>    return MPEG4GenericRTPSink::createNew(envir(), rtpGroupsock,
>   rtpPayloadTypeIfDynamic,
>   44100,
>   "audio", "AAC-hbr", "1",  //aac raw
>      2);
>
>}
>
>myownserverseesion:createNewStreamSource(...)
>{
>    return myowndevicesource(...);
>
>}
>
>in myowndevicesource class ,i use videodevicesource same 
>code.videodevicesource is work ok.
>
>but,i use vlcplay,vlc disp not decode audio.why?
>live555 no support aac raw data?only use aac adts?

No, our code be able to stream AAC audio, no matter how it's 
delivered to the "MPEG4GenericRTPSink".  An "ATDS file" is just one 
possible way to deliver AAC audio frames.

One problem that I see with your code is the "configString" parameter 
to "MPEG4GenericRTPSink::createNew()".  The string "1" is wrong; 
instead, the string should be 4 hexadecimal digits (i.e., 
representing 2 bytes).  To see how these two bytes are constructed, 
note how we do it in "ADTSAudioFileSource.cpp", line 108.

You should also make sure that your "myowndevicesource()" class 
delivers one AAC frame (and no more) each time that its 
"doGetNextFrame()" is called.
-- 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/


More information about the live-devel mailing list