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

Måns Rullgård mru
Tue Mar 7 14:40:59 CET 2006


Renjith Nair said:
> 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);

Don't cast the return value of malloc() (unless you are using C++ (which you
shouldn't)).

> 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

You can't use the same AVCodecContext for both encoding and decoding.

-- 
M?ns Rullg?rd
mru at inprovide.com





More information about the ffmpeg-devel mailing list