mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-09 13:48:55 +00:00
sys/v4l2/: dear stefan, framespersecond is not frameperiod, reverting but adding comment
Original commit message from CVS: * sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists): * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_set_fps), (gst_v4l2src_get_fps): dear stefan, framespersecond is not frameperiod, reverting but adding comment
This commit is contained in:
parent
2d2802aa8d
commit
a2b7998dad
3 changed files with 21 additions and 11 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2006-10-17 Stefan Kost <ensonic@users.sf.net>
|
||||||
|
|
||||||
|
* sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists):
|
||||||
|
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_set_fps),
|
||||||
|
(gst_v4l2src_get_fps):
|
||||||
|
dear stefan, framespersecond is not frameperiod, reverting but adding
|
||||||
|
comment
|
||||||
|
|
||||||
2006-10-17 Stefan Kost <ensonic@users.sf.net>
|
2006-10-17 Stefan Kost <ensonic@users.sf.net>
|
||||||
|
|
||||||
* sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists):
|
* sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists):
|
||||||
|
|
|
@ -153,8 +153,8 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object)
|
||||||
GstTunerNorm *norm;
|
GstTunerNorm *norm;
|
||||||
|
|
||||||
/* fill in defaults */
|
/* fill in defaults */
|
||||||
standard.frameperiod.numerator = 0;
|
standard.frameperiod.numerator = 1;
|
||||||
standard.frameperiod.denominator = 1;
|
standard.frameperiod.denominator = 0;
|
||||||
standard.index = n;
|
standard.index = n;
|
||||||
if (ioctl (v4l2object->video_fd, VIDIOC_ENUMSTD, &standard) < 0) {
|
if (ioctl (v4l2object->video_fd, VIDIOC_ENUMSTD, &standard) < 0) {
|
||||||
if (errno == EINVAL)
|
if (errno == EINVAL)
|
||||||
|
@ -168,14 +168,14 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object)
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (v4l2object->element, " '%s', fps: %d / %d",
|
GST_DEBUG_OBJECT (v4l2object->element, " '%s', fps: %d / %d",
|
||||||
standard.name, standard.frameperiod.numerator,
|
standard.name, standard.frameperiod.denominator,
|
||||||
standard.frameperiod.denominator);
|
standard.frameperiod.numerator);
|
||||||
|
|
||||||
v4l2norm = g_object_new (GST_TYPE_V4L2_TUNER_NORM, NULL);
|
v4l2norm = g_object_new (GST_TYPE_V4L2_TUNER_NORM, NULL);
|
||||||
norm = GST_TUNER_NORM (v4l2norm);
|
norm = GST_TUNER_NORM (v4l2norm);
|
||||||
norm->label = g_strdup ((const gchar *) standard.name);
|
norm->label = g_strdup ((const gchar *) standard.name);
|
||||||
gst_value_set_fraction (&norm->framerate,
|
gst_value_set_fraction (&norm->framerate,
|
||||||
standard.frameperiod.numerator, standard.frameperiod.denominator);
|
standard.frameperiod.denominator, standard.frameperiod.numerator);
|
||||||
v4l2norm->index = standard.id;
|
v4l2norm->index = standard.id;
|
||||||
|
|
||||||
v4l2object->norms = g_list_append (v4l2object->norms, (gpointer) norm);
|
v4l2object->norms = g_list_append (v4l2object->norms, (gpointer) norm);
|
||||||
|
|
|
@ -738,14 +738,16 @@ gst_v4l2src_set_fps (GstV4l2Src * v4l2src, guint * fps_n, guint * fps_d)
|
||||||
if (!(stream.parm.capture.capability & V4L2_CAP_TIMEPERFRAME))
|
if (!(stream.parm.capture.capability & V4L2_CAP_TIMEPERFRAME))
|
||||||
goto no_timeperframe;
|
goto no_timeperframe;
|
||||||
|
|
||||||
stream.parm.capture.timeperframe.numerator = *fps_n;
|
/* Note: V4L2 needs the frame interval, we have the frame rate */
|
||||||
stream.parm.capture.timeperframe.denominator = *fps_d;
|
stream.parm.capture.timeperframe.numerator = *fps_d;
|
||||||
|
stream.parm.capture.timeperframe.denominator = *fps_n;
|
||||||
|
|
||||||
if (ioctl (v4l2object->video_fd, VIDIOC_S_PARM, &stream) < 0)
|
if (ioctl (v4l2object->video_fd, VIDIOC_S_PARM, &stream) < 0)
|
||||||
goto sparm_failed;
|
goto sparm_failed;
|
||||||
|
|
||||||
*fps_n = stream.parm.capture.timeperframe.numerator;
|
/* Note: V4L2 gives us the frame interval, we need the frame rate */
|
||||||
*fps_d = stream.parm.capture.timeperframe.denominator;
|
*fps_d = stream.parm.capture.timeperframe.numerator;
|
||||||
|
*fps_n = stream.parm.capture.timeperframe.denominator;
|
||||||
|
|
||||||
GST_LOG_OBJECT (v4l2src, "fps set to %d / %d", *fps_n, *fps_d);
|
GST_LOG_OBJECT (v4l2src, "fps set to %d / %d", *fps_n, *fps_d);
|
||||||
|
|
||||||
|
@ -796,8 +798,8 @@ gst_v4l2src_get_fps (GstV4l2Src * v4l2src, guint * fps_n, guint * fps_d)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Note: V4L2 gives us the frame interval, we need the frame rate */
|
/* Note: V4L2 gives us the frame interval, we need the frame rate */
|
||||||
*fps_n = stream.parm.capture.timeperframe.numerator;
|
*fps_d = stream.parm.capture.timeperframe.numerator;
|
||||||
*fps_d = stream.parm.capture.timeperframe.denominator;
|
*fps_n = stream.parm.capture.timeperframe.denominator;
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (v4l2src,
|
GST_DEBUG_OBJECT (v4l2src,
|
||||||
"frame rate returned by G_PARM: %d/%d fps", *fps_n, *fps_d);
|
"frame rate returned by G_PARM: %d/%d fps", *fps_n, *fps_d);
|
||||||
|
|
Loading…
Reference in a new issue