[Ffmpeg-devel] Audio Decoding and Encoding Using FFmpeg: program crashing at avcodec_encode_audio

Renjith Nair renjith4
Tue Mar 7 14:29:41 CET 2006


Hi All,

I have a problem while trying to encode audio using ffmpeg. Whenever the
 function avcodec_encode_audio is called teh system crashes. When that line
is commented out then the program works without any problem. Can anybody
have a clue, what is wrong with this code. Thanks in Advance.


P.S: I am developing an audio encoding/decoding api using ffmpeg and
planning to publish the code and the documentation on the web for free. Very
few ffmpeg documentations (for programmers) are currently available on the
web. So i plan to create a programmer's documentation with sample programs
to assist the further development of ffmpeg. All are welcome to co-operate.

The code with the problem is the following:
>
>
outBuf = (int16_t*)malloc(AVCODEC_MAX_AUDIO_FRAME_SIZE);
output = (uint8_t*)malloc(AVCODEC_MAX_AUDIO_FRAME_SIZE);

while(av_read_frame(pFormatCtx, &packet)>=0)
{
     // Is this a packet from the audio stream?
     if(packet.stream_index==audioStream)
     {
    // Decoding the frame
    len = avcodec_decode_audio(pCodecCtx,outBuf, &outBufSize,packet.data,
packet.size);

    // Encoding the frame
    outPacket.size = avcodec_encode_audio(pCodecCtx,output, outputSize,
(short*)outBuf);//<-- This line causes the crash
     }
} // End of while loop


Where the variables are  of the following types

AVFormatContext *pFormatCtx;
AVCodecContext  *pCodecCtx;
AVPacket    packet,outPacket;
int16_t         *outBuf;
uint8_t            *output;
int        len,outBufSize,outSize;
int        outputSize=AVCODEC_MAX_AUDIO_FRAME_SIZE; // must be initialised
else produces an error


Thanks & Regards,
Renjith




More information about the ffmpeg-devel mailing list