diff options
author | Stefan Kost <ensonic@users.sf.net> | 2010-09-10 16:55:25 +0300 |
---|---|---|
committer | Stefan Kost <ensonic@users.sf.net> | 2010-09-10 17:00:58 +0300 |
commit | 1f4f4581d89e9530a3ce89f56e6e8cbfb2b80648 (patch) | |
tree | f32c49cb3b5920e0ae3c6509ff5b8c01d21f4e85 | |
parent | a08d4a5447b09204b54b6cb77373dc7ac75c211d (diff) |
v4l2src: don't skip calculating the duration
-rw-r--r-- | sys/v4l2/v4l2src_calls.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/sys/v4l2/v4l2src_calls.c b/sys/v4l2/v4l2src_calls.c index ebdb0b339..e33fa618a 100644 --- a/sys/v4l2/v4l2src_calls.c +++ b/sys/v4l2/v4l2src_calls.c @@ -229,7 +229,7 @@ gst_v4l2src_set_capture (GstV4l2Src * v4l2src, guint32 pixelformat, } /* Is there a reason we require the caller to always specify a framerate? */ - GST_LOG_OBJECT (v4l2src, "Desired framerate: %u/%u", fps_n, fps_d); + GST_DEBUG_OBJECT (v4l2src, "Desired framerate: %u/%u", fps_n, fps_d); memset (&stream, 0x00, sizeof (struct v4l2_streamparm)); stream.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; @@ -243,10 +243,8 @@ gst_v4l2src_set_capture (GstV4l2Src * v4l2src, guint32 pixelformat, /* Note: V4L2 provides the frame interval, we have the frame rate */ if (fractions_are_equal (stream.parm.capture.timeperframe.numerator, stream.parm.capture.timeperframe.denominator, fps_d, fps_n)) { - GST_LOG_OBJECT (v4l2src, "Desired framerate already set"); - v4l2src->fps_n = fps_n; - v4l2src->fps_d = fps_d; - goto done; + GST_DEBUG_OBJECT (v4l2src, "Desired framerate already set"); + goto already_set; } /* We want to change the frame rate, so check whether we can. Some cheap USB @@ -270,6 +268,8 @@ gst_v4l2src_set_capture (GstV4l2Src * v4l2src, guint32 pixelformat, goto done; } +already_set: + v4l2src->fps_n = fps_n; v4l2src->fps_d = fps_d; @@ -283,8 +283,6 @@ gst_v4l2src_set_capture (GstV4l2Src * v4l2src, guint32 pixelformat, GST_INFO_OBJECT (v4l2src, "Set framerate to %u/%u and duration to %" GST_TIME_FORMAT, fps_n, fps_d, GST_TIME_ARGS (v4l2src->duration)); - - done: return TRUE; |