[FFmpeg-cvslog] r17865 - in trunk/libavutil: fifo.c fifo.h

Baptiste Coudurier baptiste.coudurier
Sat Mar 7 23:52:45 CET 2009


Hi guys,

On 3/7/2009 1:02 PM, michael wrote:
> Author: michael
> Date: Sat Mar  7 22:02:08 2009
> New Revision: 17865
> 
> Log:
> Try to fix the 1 byte cant be used issue.
> 
> Modified:
>    trunk/libavutil/fifo.c
>    trunk/libavutil/fifo.h
> 
> Modified: trunk/libavutil/fifo.c
> ==============================================================================
> --- trunk/libavutil/fifo.c	Sat Mar  7 20:56:21 2009	(r17864)
> +++ trunk/libavutil/fifo.c	Sat Mar  7 22:02:08 2009	(r17865)
> @@ -24,10 +24,10 @@
>  
>  int av_fifo_init(AVFifoBuffer *f, unsigned int size)
>  {
> -    size= FFMAX(size, size+1);
>      f->wptr = f->rptr =
>      f->buffer = av_malloc(size);
>      f->end = f->buffer + size;
> +    f->rndx = f->wndx = 0;
>      if (!f->buffer)
>          return -1;
>      return 0;
> @@ -40,10 +40,7 @@ void av_fifo_free(AVFifoBuffer *f)
>  
>  int av_fifo_size(AVFifoBuffer *f)
>  {
> -    int size = f->wptr - f->rptr;
> -    if (size < 0)
> -        size += f->end - f->buffer;
> -    return size;
> +    return (uint32_t)(f->wndx - f->rndx);
>  }
>  
>  int av_fifo_read(AVFifoBuffer *f, uint8_t *buf, int buf_size)
> @@ -60,7 +57,7 @@ void av_fifo_realloc(AVFifoBuffer *f, un
>  int av_fifo_realloc2(AVFifoBuffer *f, unsigned int new_size) {
>      unsigned int old_size= f->end - f->buffer;
>  
> -    if(old_size <= new_size){
> +    if(old_size < new_size){
>          int len= av_fifo_size(f);
>          AVFifoBuffer f2;
>  

Btw is it reasonable to have an autorealloc fifo feature ?
Which would make av_fifo_write return error if memory taken becomes too
big of course, reasonable limit configurable at compile time ?

I'd like to have one.

-- 
Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
checking for life_signs in -lkenny... no
FFmpeg maintainer                                  http://www.ffmpeg.org




More information about the ffmpeg-cvslog mailing list