On Wed, 25 May 2011, Justin Ruggles wrote:

> On 05/25/2011 09:54 AM, Martin Storsjö wrote:
> 
> > This actually matches what av_get_double did earlier, the
> > 0.0/0.0 division was intentional, for producing NAN.
> > 
> > Still keeping the check for the return value from
> > av_get_number, for clarity.
> > ---
> > Implemented part of the suggestion now - the setting
> > of num/den to 0 could be removed from the error case
> > later.
> > 
> >  libavutil/opt.c |    4 ++--
> >  1 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/libavutil/opt.c b/libavutil/opt.c
> > index 9e06b01..74c39fe 100644
> > --- a/libavutil/opt.c
> > +++ b/libavutil/opt.c
> > @@ -291,7 +291,7 @@ double av_get_double(void *obj, const char *name, const 
> > AVOption **o_out)
> >      int den=1;
> >  
> >      if (av_get_number(obj, name, o_out, &num, &den, &intnum) < 0)
> > -        return -1;
> > +        return NAN;
> >      return num*intnum/den;
> >  }
> >  
> > @@ -302,7 +302,7 @@ AVRational av_get_q(void *obj, const char *name, const 
> > AVOption **o_out)
> >      int den=1;
> >  
> >      if (av_get_number(obj, name, o_out, &num, &den, &intnum) < 0)
> > -        return (AVRational){-1, 0};
> > +        return (AVRational){0, 0};
> >      if (num == 1.0 && (int)intnum == intnum)
> >          return (AVRational){intnum, den};
> >      else
> 
> 
> patch ok. I do like Stefano's idea of having an output parameter so the
> error code can be passed on, but this patch is at least better that the
> current code.

Pushed. Changing that would break public API, so that's a slightly bigger 
change...

// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to