I’ve only been working with the FFMPEG libs (directly) for a few weeks so
 I’m not sure about what I’ve found.

I’ve created a short program that demonstrates the problem.  The program can be 
found at https://github.com/trafficland/rtpmemleak.

There’s a much more detailed explanation which can be found here 
https://github.com/trafficland/rtpmemleak/blob/master/README.md.

The short version is that after streaming packets to a multicast address using 
a RTP formatted stream, the RtpMuxContext.buf field is not released by 
avformat_close_input.

The only way to clean up that field is to do it manually as follows (a snippet 
from the code found at the links).

//*** The memory assigned to dstFmtCtxt->priv_data->buf must be cleaned up 
manually as it is not cleaned up by avformat_close_input
//*** Comment out the next 2 lines and run valgrind to see the leak stats.
RTPMuxContext* x = (struct RTPMuxContext *) dstFmtCtxt->priv_data;
av_free(x->buf);
avformat_close_input(&dstFmtCtxt);

Sample valgrind reports can be found at the links as well.

Is this a genuine leak or am I missing a cleanup call?

Eric Reichert




CONFIDENTIALITY NOTICE - The information contained in this e-mail and any 
accompanying documents may
 contain information that is confidential or otherwise protected from 
disclosure. If you are not the intended recipient of this message, or if this 
message has been addressed to you in error, please immediately alert the sender 
by reply e-mail and then delete this message, including any attachments. Any
 dissemination, distribution or other use of the contents of this message by
 anyone other than the intended recipient is strictly prohibited.
_______________________________________________
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to