On Sun, Jan 22, 2017 at 9:03 PM, Mark Thompson <s...@jkqxz.net> wrote:
> On 20/01/17 02:06, Huang, Zhengxu wrote: > > From 9ceb2ac6a89246f2e686eb3ad3448fbaff5328f7 Mon Sep 17 00:00:00 2001 > > From: Zhengxu <zhengxu.maxw...@gmail.com> > > Date: Fri, 13 Jan 2017 10:33:05 +0800 > > Subject: [PATCH] lavformat/utils: Fix a memleak that > st->codec->hw_frames_ctx > > is not released. > > > > Signed-off-by: ChaoX A Liu <chaox.a....@gmail.com> > > Signed-off-by: Huang, Zhengxu <zhengxu.maxw...@gmail.com> > > Signed-off-by: Andrew, Zhang <huazh...@gmail.com> > > --- > > libavformat/utils.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/libavformat/utils.c b/libavformat/utils.c > > index d5dfca7..cadec15 100644 > > --- a/libavformat/utils.c > > +++ b/libavformat/utils.c > > @@ -4127,6 +4127,7 @@ static void free_stream(AVStream **pst) > > FF_DISABLE_DEPRECATION_WARNINGS > > av_freep(&st->codec->extradata); > > av_freep(&st->codec->subtitle_header); > > + av_buffer_unref(&st->codec->hw_frames_ctx); > > av_freep(&st->codec); > > FF_ENABLE_DEPRECATION_WARNINGS > > #endif > > -- > > 1.8.3.1 > > > > As stated elsewhere, this should never happen in a sane program > (AVStream.codec was deprecated before AVCodecContext.hw_frames_ctx was > introduced), but I admit that ffmpeg.c cannot be said to be a sane program. > > I think the patch is probably ok, but it is very difficult to tell. Why > doesn't the code here already call avcodec_free_context() here to free > st->codec properly, including unreffing hw_frames_ctx? I imagine there is > some crazy reason for this (some fields have been copied somewhere else, > maybe?), and without knowing that I don't think this patch should be > applied. > > So, I mostly agree with Hendrik that it is probably better to fix ffmpeg.c > to not cause the problem in the first place rather than changing this > deprecated code in lavf. > > Thanks, > > - Mark OK. Let's end this topic till we find out a graceful way to fix it. Thanks for all your patient explaining. Regards, Chao _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel