[FFmpeg-devel] [PATCH 3/6] libavformat: Add a function for freeing an AVFormatContext
Stefano Sabatini
stefano.sabatini-lala
Thu Feb 3 14:08:07 CET 2011
On date Thursday 2011-02-03 14:32:25 +0200, Martin Storsj? encoded:
> On Thu, 3 Feb 2011, Anton Khirnov wrote:
>
> > On Thu, Feb 03, 2011 at 02:10:14PM +0200, Martin Storsj? wrote:
> > > This function is useful for freeing data structures allocated by
> > > muxers, which currently have to be freed manually by the caller.
> > > ---
> > > libavformat/avformat.h | 6 ++++++
> > > libavformat/utils.c | 11 ++++++++---
> > > 2 files changed, 14 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/libavformat/avformat.h b/libavformat/avformat.h
> > > index f9f9be5..1cbe274 100644
> > > --- a/libavformat/avformat.h
> > > +++ b/libavformat/avformat.h
> > > @@ -1230,6 +1230,12 @@ void av_close_input_stream(AVFormatContext *s);
> > > void av_close_input_file(AVFormatContext *s);
> > >
> > > /**
> > > + * Free an AVFormatContext and all its streams.
> > > + * @param s context to free
> > > + */
> > > +void av_free_context(AVFormatContext *s);
> > > +
> > I think avformat_free_context would be a better name, because:
> > 1) it's consistent with existing avformat_alloc_context
> > 2) av_free_context doesn't tell you that you're freeing a _format_
> > context; it might also conflict with future similar functions in
> > lavc and friends.
>
> Good point. Any others in favour of avformat_free_context, or preferring
> any other versions?
avformat_free_context looks fine. BTW, what about to make the function
takes **s and thus set to NULL the pointed variable?
I mean:
void avformat_free_context(AVFormatContext **s);
then have:
AVFormatContext *fmtctx;
...
avformat_free_context(&fmtctx);
rahter than:
avformat_free_context(fmtctx);
fmtctx = NULL;
That's just an idea, consider consistency with the rest of the API...
--
FFmpeg = Fundamental Freak Mega Problematic Embarassing Gadget
More information about the ffmpeg-devel
mailing list