[FFmpeg-devel] [PATCH] avformat/matroskadec: avoid warning on duration conversion
Steve Lhomme
robux4 at ycbcr.xyz
Sun Nov 15 11:00:23 EET 2020
Do the conversion from double to uint64_t explicitly and only once.
The comparison to UINT64_MAX is not correct.
---
libavformat/matroskadec.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 8a5bc4018a..4ff472005e 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -2328,8 +2328,8 @@ static int matroska_parse_tracks(AVFormatContext *s)
if (track->type == MATROSKA_TRACK_TYPE_VIDEO) {
if (!track->default_duration && track->video.frame_rate > 0) {
- double default_duration = 1000000000 / track->video.frame_rate;
- if (default_duration > UINT64_MAX || default_duration < 0) {
+ uint64_t default_duration = (double)1000000000 / track->video.frame_rate;
+ if (default_duration > UINT64_MAX) {
av_log(matroska->ctx, AV_LOG_WARNING,
"Invalid frame rate %e. Cannot calculate default duration.\n",
track->video.frame_rate);
--
2.26.2
More information about the ffmpeg-devel
mailing list