Signed-off-by: Michael Niedermayer <michaelni@gmx.at>tags/n0.11
| @@ -153,7 +153,7 @@ | |||||
| */ | */ | ||||
| #define LIBAVUTIL_VERSION_MAJOR 51 | #define LIBAVUTIL_VERSION_MAJOR 51 | ||||
| #define LIBAVUTIL_VERSION_MINOR 51 | |||||
| #define LIBAVUTIL_VERSION_MINOR 52 | |||||
| #define LIBAVUTIL_VERSION_MICRO 100 | #define LIBAVUTIL_VERSION_MICRO 100 | ||||
| #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | ||||
| @@ -79,6 +79,19 @@ int av_fifo_realloc2(AVFifoBuffer *f, unsigned int new_size) | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| int av_fifo_grow(AVFifoBuffer *f, unsigned int size) | |||||
| { | |||||
| unsigned int old_size = f->end - f->buffer; | |||||
| if(size + (unsigned)av_fifo_size(f) < size) | |||||
| return AVERROR(EINVAL); | |||||
| size += av_fifo_size(f); | |||||
| if (old_size < size) | |||||
| return av_fifo_realloc2(f, FFMAX(size, 2*size)); | |||||
| return 0; | |||||
| } | |||||
| // src must NOT be const as it can be a context for func that may need updating (like a pointer or byte counter) | // src must NOT be const as it can be a context for func that may need updating (like a pointer or byte counter) | ||||
| int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void*, void*, int)) | int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void*, void*, int)) | ||||
| { | { | ||||
| @@ -102,6 +102,17 @@ int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void | |||||
| */ | */ | ||||
| int av_fifo_realloc2(AVFifoBuffer *f, unsigned int size); | int av_fifo_realloc2(AVFifoBuffer *f, unsigned int size); | ||||
| /** | |||||
| * Enlarge an AVFifoBuffer. | |||||
| * In case of reallocation failure, the old FIFO is kept unchanged. | |||||
| * The new fifo size may be larger than the requested size. | |||||
| * | |||||
| * @param f AVFifoBuffer to resize | |||||
| * @param additional_space the amount of space in bytes to allocate in addition to av_fifo_size() | |||||
| * @return <0 for failure, >=0 otherwise | |||||
| */ | |||||
| int av_fifo_grow(AVFifoBuffer *f, unsigned int additional_space); | |||||
| /** | /** | ||||
| * Read and discard the specified amount of data from an AVFifoBuffer. | * Read and discard the specified amount of data from an AVFifoBuffer. | ||||
| * @param f AVFifoBuffer to read from | * @param f AVFifoBuffer to read from | ||||