diff fifo.c @ 688:91216685a7ae libavutil

Add av_fifo_reset function to completely reset fifo state, which makes it easier to reuse the fifo.
author reimar
date Mon, 09 Mar 2009 09:26:32 +0000
parents bc81990848aa
children 4e9e0c52ed08
line wrap: on
line diff
--- a/fifo.c	Mon Mar 09 03:39:58 2009 +0000
+++ b/fifo.c	Mon Mar 09 09:26:32 2009 +0000
@@ -27,9 +27,9 @@
     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_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);