mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-13 10:30:05 +01:00
fifo: add av_fifo_grow()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -79,6 +79,19 @@ int av_fifo_realloc2(AVFifoBuffer *f, unsigned int new_size)
|
||||
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)
|
||||
int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void*, void*, int))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user