summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2016-05-14 12:09:06 +0200
committerEdward Hervey <bilboed@bilboed.com>2016-05-14 12:10:29 +0200
commit707b532cd28f756e6f33215f267c815acf2c3c94 (patch)
treedb1c272f0011b7b4d7482e13588109f6f1cc2ec1
parentb0380bb4dbfc479d51c7569c4e9887e68120bbdb (diff)
downloadgst-libav-707b532cd28f756e6f33215f267c815acf2c3c94.tar.gz
avvidec: Don't set bogus latency
We might have cases where the framerate is not known (0/1).
-rw-r--r--ext/libav/gstavviddec.c12
1 files 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;