Don't do crazy things with 0/1 framerates
authorArnout Vandecappelle <arnout at mind dot be>
Mon, 23 Feb 2009 11:14:23 +0000 (12:14 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Mon, 23 Feb 2009 11:14:23 +0000 (12:14 +0100)
We use 0/1 framerates to mark variable framerates and matroskamux should not try
to calculate a frame duration for it.
Fixes #571294.

gst/matroska/matroska-mux.c

index 746e3d1..1b958d6 100644 (file)
@@ -650,7 +650,8 @@ gst_matroska_mux_video_pad_setcaps (GstPad * pad, GstCaps * caps)
   gst_structure_get_int (structure, "height", &height);
   videocontext->pixel_width = width;
   videocontext->pixel_height = height;
-  if (gst_structure_get_fraction (structure, "framerate", &fps_n, &fps_d)) {
+  if (gst_structure_get_fraction (structure, "framerate", &fps_n, &fps_d)
+      && fps_n > 0) {
     context->default_duration =
         gst_util_uint64_scale_int (GST_SECOND, fps_d, fps_n);
     GST_LOG_OBJECT (pad, "default duration = %" GST_TIME_FORMAT,