From 351f6118c7e3da6ea7a2ab0a8f7d25b2223f7c5a Mon Sep 17 00:00:00 2001 From: Lukasz Marek Date: Tue, 6 May 2014 21:28:51 +0200 Subject: [PATCH] lavu/fifo: add av_fifo_freep function Function allows to free fifo and reset freed pointer. Signed-off-by: Lukasz Marek --- doc/APIchanges | 3 +++ libavutil/fifo.c | 8 ++++++++ libavutil/fifo.h | 6 ++++++ libavutil/version.h | 2 +- 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/doc/APIchanges b/doc/APIchanges index 6c5bf4596a..da8b6969f5 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,9 @@ libavutil: 2012-10-22 API changes, most recent first: +2014-05-xx - xxxxxxx - lavu 52.82.0 - fifo.h + Add av_fifo_freep() function. + 2014-05-02 - ba52fb11 - lavu 52.81.0 - opt.h Add av_opt_set_dict2() function. diff --git a/libavutil/fifo.c b/libavutil/fifo.c index 235b53ce40..e35237c090 100644 --- a/libavutil/fifo.c +++ b/libavutil/fifo.c @@ -45,6 +45,14 @@ void av_fifo_free(AVFifoBuffer *f) } } +void av_fifo_freep(AVFifoBuffer **f) +{ + if (f) { + av_fifo_free(*f); + *f = NULL; + } +} + void av_fifo_reset(AVFifoBuffer *f) { f->wptr = f->rptr = f->buffer; diff --git a/libavutil/fifo.h b/libavutil/fifo.h index fe7364f427..66fb48a2ed 100644 --- a/libavutil/fifo.h +++ b/libavutil/fifo.h @@ -47,6 +47,12 @@ AVFifoBuffer *av_fifo_alloc(unsigned int size); */ void av_fifo_free(AVFifoBuffer *f); +/** + * Free an AVFifoBuffer and reset pointer to NULL. + * @param f AVFifoBuffer to free + */ +void av_fifo_freep(AVFifoBuffer **f); + /** * Reset the AVFifoBuffer to the state right after av_fifo_alloc, in particular it is emptied. * @param f AVFifoBuffer to reset diff --git a/libavutil/version.h b/libavutil/version.h index 3cb5b66666..a430c6b948 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -56,7 +56,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 52 -#define LIBAVUTIL_VERSION_MINOR 81 +#define LIBAVUTIL_VERSION_MINOR 82 #define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \