diff options
| author | Edward Hervey <bilboed@bilboed.com> | 2008-08-12 12:04:24 +0000 | 
|---|---|---|
| committer | Edward Hervey <bilboed@bilboed.com> | 2008-08-12 12:04:24 +0000 | 
| commit | 27e20eadc012c1426dd2044b58f8fc0950b77058 (patch) | |
| tree | e4ba575cde97026df10b0f11e2989a07ba07e76f | |
| parent | a7d73b26dc50634b952725558395ab800ad3ec99 (diff) | |
sys/v4l2/gstv4l2src.c: Add warning messages stating exactly why the latency query failed.
Original commit message from CVS:
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_query):
Add warning messages stating exactly why the latency query failed.
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_set_capture):
In some cases, the negotiated framerate might be the default one which
is already set internally. But we still need to mark it down in fps_n
and fps_d so that the latency query can happen properly.
| -rw-r--r-- | ChangeLog | 9 | ||||
| -rw-r--r-- | sys/v4l2/gstv4l2src.c | 10 | ||||
| -rw-r--r-- | sys/v4l2/v4l2src_calls.c | 4 | 
3 files changed, 20 insertions, 3 deletions
| @@ -1,5 +1,14 @@  2008-08-12  Edward Hervey  <edward.hervey@collabora.co.uk> +	* sys/v4l2/gstv4l2src.c: (gst_v4l2src_query): +	Add warning messages stating exactly why the latency query failed. +	* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_set_capture): +	In some cases, the negotiated framerate might be the default one which +	is already set internally. But we still need to mark it down in fps_n +	and fps_d so that the latency query can happen properly. + +2008-08-12  Edward Hervey  <edward.hervey@collabora.co.uk> +  	* docs/plugins/inspect/plugin-1394.xml:  	Whoops, forgot one doc file for people who can't/don't build the  	raw1394 plugin. diff --git a/sys/v4l2/gstv4l2src.c b/sys/v4l2/gstv4l2src.c index ce4b2237..26e8ddfa 100644 --- a/sys/v4l2/gstv4l2src.c +++ b/sys/v4l2/gstv4l2src.c @@ -1071,12 +1071,18 @@ gst_v4l2src_query (GstBaseSrc * bsrc, GstQuery * query)        GstClockTime min_latency, max_latency;        /* device must be open */ -      if (!GST_V4L2_IS_OPEN (src->v4l2object)) +      if (!GST_V4L2_IS_OPEN (src->v4l2object)) { +        GST_WARNING_OBJECT (src, +            "Can't give latency since device isn't open !");          goto done; +      }        /* we must have a framerate */ -      if (src->fps_n <= 0 || src->fps_d <= 0) +      if (src->fps_n <= 0 || src->fps_d <= 0) { +        GST_WARNING_OBJECT (src, +            "Can't give latency since framerate isn't fixated !");          goto done; +      }        /* min latency is the time to capture one frame */        min_latency = diff --git a/sys/v4l2/v4l2src_calls.c b/sys/v4l2/v4l2src_calls.c index c35d3ee2..02bb8d94 100644 --- a/sys/v4l2/v4l2src_calls.c +++ b/sys/v4l2/v4l2src_calls.c @@ -1214,7 +1214,9 @@ 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, nothing to do"); +    GST_LOG_OBJECT (v4l2src, "Desired framerate already set"); +    v4l2src->fps_n = fps_n; +    v4l2src->fps_d = fps_d;      goto done;    } | 
