From ce41c51b0c71c87f623914ba0786aef325d818fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 2 Feb 2011 10:57:26 +0200 Subject: [PATCH] Free AVStream->info in chained muxers This fixes memory leaks in the RTSP muxer and RTP hinting in the mov muxer present since SVN rev 25418. Signed-off-by: Luca Barbato --- libavformat/movenchint.c | 2 ++ libavformat/rtpenc_chain.c | 1 + libavformat/rtsp.c | 1 + 3 files changed, 4 insertions(+) diff --git a/libavformat/movenchint.c b/libavformat/movenchint.c index 2ebe8b808f..2aa0f17d54 100644 --- a/libavformat/movenchint.c +++ b/libavformat/movenchint.c @@ -86,6 +86,7 @@ fail: } if (track->rtp_ctx && track->rtp_ctx->streams[0]) { av_metadata_free(&track->rtp_ctx->streams[0]->metadata); + av_free(track->rtp_ctx->streams[0]->info); av_free(track->rtp_ctx->streams[0]); } if (track->rtp_ctx) { @@ -490,6 +491,7 @@ void ff_mov_close_hinting(MOVTrack *track) { } av_metadata_free(&rtp_ctx->streams[0]->metadata); av_metadata_free(&rtp_ctx->metadata); + av_free(rtp_ctx->streams[0]->info); av_free(rtp_ctx->streams[0]); av_freep(&rtp_ctx); } diff --git a/libavformat/rtpenc_chain.c b/libavformat/rtpenc_chain.c index 10d9df2065..19ea98f643 100644 --- a/libavformat/rtpenc_chain.c +++ b/libavformat/rtpenc_chain.c @@ -70,6 +70,7 @@ AVFormatContext *ff_rtp_chain_mux_open(AVFormatContext *s, AVStream *st, url_close_dyn_buf(rtpctx->pb, &ptr); av_free(ptr); } + av_free(rtpctx->streams[0]->info); av_free(rtpctx->streams[0]); av_free(rtpctx); return NULL; diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index e1d750324d..52c686c3e5 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -500,6 +500,7 @@ void ff_rtsp_undo_setup(AVFormatContext *s) } av_metadata_free(&rtpctx->streams[0]->metadata); av_metadata_free(&rtpctx->metadata); + av_free(rtpctx->streams[0]->info); av_free(rtpctx->streams[0]); av_free(rtpctx); } else if (rt->transport == RTSP_TRANSPORT_RDT && CONFIG_RTPDEC)