mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
Add av_fifo_reset function to completely reset fifo state, which makes
it easier to reuse the fifo. Originally committed as revision 17901 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
aa033b1ed7
commit
32b936d0c3
@ -27,9 +27,9 @@ AVFifoBuffer *av_fifo_alloc(unsigned int size)
|
||||
AVFifoBuffer *f= av_mallocz(sizeof(AVFifoBuffer));
|
||||
if(!f)
|
||||
return NULL;
|
||||
f->wptr = f->rptr =
|
||||
f->buffer = av_malloc(size);
|
||||
f->end = f->buffer + size;
|
||||
av_fifo_reset(f);
|
||||
if (!f->buffer)
|
||||
av_freep(&f);
|
||||
return f;
|
||||
@ -43,6 +43,12 @@ void av_fifo_free(AVFifoBuffer *f)
|
||||
}
|
||||
}
|
||||
|
||||
void av_fifo_reset(AVFifoBuffer *f)
|
||||
{
|
||||
f->wptr = f->rptr = f->buffer;
|
||||
f->wndx = f->rndx = 0;
|
||||
}
|
||||
|
||||
int av_fifo_size(AVFifoBuffer *f)
|
||||
{
|
||||
return (uint32_t)(f->wndx - f->rndx);
|
||||
|
@ -47,6 +47,12 @@ AVFifoBuffer *av_fifo_alloc(unsigned int size);
|
||||
*/
|
||||
void av_fifo_free(AVFifoBuffer *f);
|
||||
|
||||
/**
|
||||
* Resets the AVFifoBuffer to the state right after av_fifo_alloc, in particular it is emptied.
|
||||
* @param *f AVFifoBuffer to reset
|
||||
*/
|
||||
void av_fifo_reset(AVFifoBuffer *f);
|
||||
|
||||
/**
|
||||
* Returns the amount of data in bytes in the AVFifoBuffer, that is the
|
||||
* amount of data you can read from it.
|
||||
|
Loading…
Reference in New Issue
Block a user