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
-- 
1.7.3.1

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

Reply via email to