libavformat: Use avcodec_copy_context for chained muxers
This avoids having the chained AVStream->codec point to the same
AVCodecContext owned by the outer AVStream. The downside is that
changes to the AVCodecContext made after calling av_write_header
cannot be detected automatically within the chained muxer.
This avoids having to manually unlink the chained AVStream->codec
by setting it to null before freeing the chained muxer via generic
freeing functions.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 1338dc0823)
This commit is contained in:
committed by
Michael Niedermayer
parent
e9266a2be0
commit
173f19be75
@@ -500,6 +500,8 @@ void ff_rtsp_undo_setup(AVFormatContext *s)
|
||||
}
|
||||
av_metadata_free(&rtpctx->streams[0]->metadata);
|
||||
av_metadata_free(&rtpctx->metadata);
|
||||
av_free(rtpctx->streams[0]->codec->extradata);
|
||||
av_free(rtpctx->streams[0]->codec);
|
||||
av_free(rtpctx->streams[0]->info);
|
||||
av_free(rtpctx->streams[0]);
|
||||
av_free(rtpctx);
|
||||
|
||||
Reference in New Issue
Block a user