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 <lu_zero@gentoo.org>
(cherry picked from commit ce41c51b0c)
oldabi
Martin Storsjö 14 years ago committed by Michael Niedermayer
parent c6347bdf08
commit d0d8a9b138
  1. 2
      libavformat/movenchint.c
  2. 1
      libavformat/rtpenc_chain.c
  3. 1
      libavformat/rtsp.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);
}

@ -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;

@ -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)

Loading…
Cancel
Save