From b91fe36644b15ae070d72b9e8a9c7087e82aef12 Mon Sep 17 00:00:00 2001 From: Luis de Bethencourt Date: Wed, 18 Feb 2015 17:49:29 +0000 Subject: [PATCH] v4l2: fraction is reversed 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 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c index d1cc284..4ccbbf5 100644 --- a/sys/v4l2/v4l2_calls.c +++ b/sys/v4l2/v4l2_calls.c @@ -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", -- 2.7.4