ffmpeg: avoid possible undefined behavior
On lines 1633,1634 FFABS(pts) is performed. However, if av_stream_get_end_pts returns AV_NOPTS_VALUE always, pts remains stuck at INT64_MIN, leading to undefined behavior on FFABS. One could conceive of a solution using FFNABS. However, such a solution has to deal with the implementation defined rounding of integer division with at least one negative operand in ANSI C89. C99 forces truncation to zero, but I am not sure that all of our platforms compile with full C99 support, and in particular whether we can safely assume a fixed rounding behavior across all platforms. This solution is simple, and I doubt changing INT64_MIN to INT64_MIN + 1 has any practical loss - if it is stuck at its initial value, the stream is messed up anyway. Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Showing
Please
register
or
sign in
to comment