v4l2: fraction is reversed
authorLuis de Bethencourt <luis.bg@samsung.com>
Wed, 18 Feb 2015 17:49:29 +0000 (17:49 +0000)
committerLuis de Bethencourt <luis.bg@samsung.com>
Wed, 18 Feb 2015 17:49:31 +0000 (17:49 +0000)
In the fraction 1 / 2. 1 is the numerator and 2 is the denominator.
The arguments of fraction gst_value_set_fractions() are value,
numerator and denominator.
Also, gst_value_set_fraction() fails if denominator is 0 for obvious
reasons.

sys/v4l2/v4l2_calls.c

index d1cc284..4ccbbf5 100644 (file)
@@ -216,8 +216,8 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object)
     GstTunerNorm *norm;
 
     /* fill in defaults */
-    standard.frameperiod.numerator = 1;
-    standard.frameperiod.denominator = 0;
+    standard.frameperiod.numerator = 0;
+    standard.frameperiod.denominator = 1;
     standard.index = n;
 
     if (v4l2_ioctl (v4l2object->video_fd, VIDIOC_ENUMSTD, &standard) < 0) {
@@ -238,14 +238,14 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object)
     }
 
     GST_DEBUG_OBJECT (e, "    '%s', fps: %d / %d",
-        standard.name, standard.frameperiod.denominator,
-        standard.frameperiod.numerator);
+        standard.name, standard.frameperiod.numerator,
+        standard.frameperiod.denominator);
 
     v4l2norm = g_object_new (GST_TYPE_V4L2_TUNER_NORM, NULL);
     norm = GST_TUNER_NORM (v4l2norm);
     norm->label = g_strdup ((const gchar *) standard.name);
     gst_value_set_fraction (&norm->framerate,
-        standard.frameperiod.denominator, standard.frameperiod.numerator);
+        standard.frameperiod.numerator, standard.frameperiod.denominator);
     v4l2norm->index = standard.id;
 
     GST_DEBUG_OBJECT (v4l2object->element, "index=%08x, label=%s",