From 7b09db35225e726949f28b59075bc6519f8fdac0 Mon Sep 17 00:00:00 2001 From: Olivier Guilyardi Date: Thu, 2 Apr 2009 23:22:19 +0000 Subject: [PATCH] Implement av_fifo_space(). Patch by Olivier Guilyardi list et samalyse DOT c0m. Originally committed as revision 18321 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavutil/avutil.h | 2 +- libavutil/fifo.c | 5 +++++ libavutil/fifo.h | 8 ++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/libavutil/avutil.h b/libavutil/avutil.h index dfc129bb27..fac1f5e2dd 100644 --- a/libavutil/avutil.h +++ b/libavutil/avutil.h @@ -35,7 +35,7 @@ #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c) #define LIBAVUTIL_VERSION_MAJOR 50 -#define LIBAVUTIL_VERSION_MINOR 2 +#define LIBAVUTIL_VERSION_MINOR 3 #define LIBAVUTIL_VERSION_MICRO 0 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ diff --git a/libavutil/fifo.c b/libavutil/fifo.c index 52ace0e22c..840b73a57b 100644 --- a/libavutil/fifo.c +++ b/libavutil/fifo.c @@ -54,6 +54,11 @@ int av_fifo_size(AVFifoBuffer *f) return (uint32_t)(f->wndx - f->rndx); } +int av_fifo_space(AVFifoBuffer *f) +{ + return f->end - f->buffer - av_fifo_size(f); +} + int av_fifo_realloc2(AVFifoBuffer *f, unsigned int new_size) { unsigned int old_size= f->end - f->buffer; diff --git a/libavutil/fifo.h b/libavutil/fifo.h index d353844715..a904dfd02e 100644 --- a/libavutil/fifo.h +++ b/libavutil/fifo.h @@ -61,6 +61,14 @@ void av_fifo_reset(AVFifoBuffer *f); */ int av_fifo_size(AVFifoBuffer *f); +/** + * Returns the amount of space in bytes in the AVFifoBuffer, that is the + * amount of data you can write into it. + * @param *f AVFifoBuffer to write into + * @return size + */ +int av_fifo_space(AVFifoBuffer *f); + /** * Feeds data from an AVFifoBuffer to a user-supplied callback. * @param *f AVFifoBuffer to read from