From 707b532cd28f756e6f33215f267c815acf2c3c94 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Sat, 14 May 2016 12:09:06 +0200 Subject: avvidec: Don't set bogus latency We might have cases where the framerate is not known (0/1). --- ext/libav/gstavviddec.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c index 8273dda..53391ad 100644 --- a/ext/libav/gstavviddec.c +++ b/ext/libav/gstavviddec.c @@ -1095,11 +1095,13 @@ gst_ffmpegviddec_negotiate (GstFFMpegVidDec * ffmpegdec, goto negotiate_failed; /* The decoder is configured, we now know the true latency */ - latency = - gst_util_uint64_scale_ceil (ffmpegdec->context->has_b_frames * GST_SECOND, - fps_d, fps_n); - gst_video_decoder_set_latency (GST_VIDEO_DECODER (ffmpegdec), latency, - latency); + if (fps_n) { + latency = + gst_util_uint64_scale_ceil (ffmpegdec->context->has_b_frames * + GST_SECOND, fps_d, fps_n); + gst_video_decoder_set_latency (GST_VIDEO_DECODER (ffmpegdec), latency, + latency); + } return TRUE; -- cgit v1.2.1