remove near duplicate function

Originally committed as revision 7570 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2007-01-17 19:46:33 +00:00
parent 870a12d1c2
commit 765d4f3b4a
1 changed files with 6 additions and 15 deletions

View File

@ -50,20 +50,7 @@ int av_fifo_size(AVFifoBuffer *f)
*/ */
int av_fifo_read(AVFifoBuffer *f, uint8_t *buf, int buf_size) int av_fifo_read(AVFifoBuffer *f, uint8_t *buf, int buf_size)
{ {
int size = av_fifo_size(f); return av_fifo_generic_read(f, buf_size, NULL, buf);
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;
} }
/** /**
@ -111,7 +98,11 @@ int av_fifo_generic_read(AVFifoBuffer *f, int buf_size, void (*func)(void*, void
return -1; return -1;
while (buf_size > 0) { while (buf_size > 0) {
int len = FFMIN(f->end - f->rptr, buf_size); 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; f->rptr += len;
if (f->rptr >= f->end) if (f->rptr >= f->end)
f->rptr = f->buffer; f->rptr = f->buffer;