@@ -24,9 +24,10 @@
#include "common.h"
#include "fifo.h"
-static AVFifoBuffer *fifo_alloc_common(void *buffer, size_t size)
+AVFifoBuffer *av_fifo_alloc_array(size_t nmemb, size_t size)
{
AVFifoBuffer *f;
+ void *buffer = av_malloc_array(nmemb, size);
if (!buffer)
return NULL;
f = av_mallocz(sizeof(AVFifoBuffer));
@@ -35,21 +36,14 @@ static AVFifoBuffer *fifo_alloc_common(void *buffer, size_t size)
return NULL;
}
f->buffer = buffer;
- f->end = f->buffer + size;
+ f->end = f->buffer + nmemb * size;
av_fifo_reset(f);
return f;
}
AVFifoBuffer *av_fifo_alloc(unsigned int size)
{
- void *buffer = av_malloc(size);
- return fifo_alloc_common(buffer, size);
-}
-
-AVFifoBuffer *av_fifo_alloc_array(size_t nmemb, size_t size)
-{
- void *buffer = av_malloc_array(nmemb, size);
- return fifo_alloc_common(buffer, nmemb * size);
+ return av_fifo_alloc_array(size, 1);
}
void av_fifo_free(AVFifoBuffer *f)