[Ffmpeg-devel] FFmpeg API Discrepancies
Wed Jan 10 00:55:58 CET 2007
On Tue, 2007-01-09 at 12:32 +0100, Michael Niedermayer wrote:
> > > am i rightly assuming that dv.c is buggy because it doesn't call
> > > release_buffer() on dvvideo_close()?
> > I'm not sure I understand the intricate details of buffer management
> > well enough but it looks like lots of codecs are that way -- they
> > do:
> > if(s->picture.data)
> > avctx->release_buffer(avctx, &s->picture);
> > in the context of *_decode_frame() and they don't (are not supposed to?)
> > care about *_close().
> > Am I missing something here ?
> some codes do release_buffer() during close (all mpeg and h26* codecs IIRC)
> i dont think its documented anywhere if this is needed or not but looking
> at the analogy of malloc() and free() id say things which have been allocated
> should be freed ...
I see your point. I've also noticed that quite a few codecs don't
even bother to defining AVCodec::close() because they truly don't
need it. Given that maybe the best way to fix the problem would be
modifying avcodec_close() so that it calls release_buffer() ?
More information about the ffmpeg-devel