diff fifo.c @ 224:a9880a7685e7 libavutil

remove near duplicate function
author michael
date Wed, 17 Jan 2007 19:46:33 +0000
parents df2f250bda3f
children 0b93dab98397
line wrap: on
line diff
--- a/fifo.c	Wed Jan 17 19:30:23 2007 +0000
+++ b/fifo.c	Wed Jan 17 19:46:33 2007 +0000
@@ -50,20 +50,7 @@
  */
 int av_fifo_read(AVFifoBuffer *f, uint8_t *buf, int buf_size)
 {
-    int size = av_fifo_size(f);
-
-    if (size < buf_size)
-        return -1;
-    while (buf_size > 0) {
-        int len = FFMIN(f->end - f->rptr, buf_size);
-        memcpy(buf, f->rptr, len);
-        buf += len;
-        f->rptr += len;
-        if (f->rptr >= f->end)
-            f->rptr = f->buffer;
-        buf_size -= len;
-    }
-    return 0;
+    return av_fifo_generic_read(f, buf_size, NULL, buf);
 }
 
 /**
@@ -111,7 +98,11 @@
         return -1;
     while (buf_size > 0) {
         int len = FFMIN(f->end - f->rptr, buf_size);
-        func(dest, f->rptr, len);
+        if(func) func(dest, f->rptr, len);
+        else{
+            memcpy(dest, f->rptr, len);
+            dest = (uint8_t*)dest + len;
+        }
         f->rptr += len;
         if (f->rptr >= f->end)
             f->rptr = f->buffer;