diff options
author | Andy Wingo <wingo@pobox.com> | 2005-07-13 17:00:40 +0000 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2005-07-13 17:00:40 +0000 |
commit | 7bfdb23652ff2088547eb314748e9e0ffcebc173 (patch) | |
tree | a5edcfd761dcfc3253e802d50fd5a774161c2c47 /sys | |
parent | d4ceba9d023f13b7f063390db95abd652be9cf24 (diff) |
sys/v4l/gstv4lsrc.c (gst_v4lsrc_stop): Fix a spurious warning.
Original commit message from CVS:
2005-07-13 Andy Wingo <wingo@pobox.com>
* sys/v4l/gstv4lsrc.c (gst_v4lsrc_stop): Fix a spurious warning.
(gst_v4lsrc_fixate): Fixate on format as well.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/v4l/gstv4lsrc.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/sys/v4l/gstv4lsrc.c b/sys/v4l/gstv4lsrc.c index d196008c..59e271ce 100644 --- a/sys/v4l/gstv4lsrc.c +++ b/sys/v4l/gstv4lsrc.c @@ -232,6 +232,7 @@ gst_v4lsrc_fixate (GstPad * pad, GstCaps * caps) for (i = 0; i < gst_caps_get_size (caps); ++i) { structure = gst_caps_get_structure (caps, i); + const GValue *v; gst_caps_structure_fixate_field_nearest_int (structure, "width", targetwidth); @@ -239,6 +240,16 @@ gst_v4lsrc_fixate (GstPad * pad, GstCaps * caps) targetheight); gst_caps_structure_fixate_field_nearest_double (structure, "framerate", 7.5); + + v = gst_structure_get_value (structure, "format"); + if (G_VALUE_TYPE (v) != GST_TYPE_FOURCC) { + guint32 fourcc; + + g_return_if_fail (G_VALUE_TYPE (v) == GST_TYPE_LIST); + + fourcc = gst_value_get_fourcc (gst_value_list_get_value (v, 0)); + gst_structure_set (structure, "format", GST_TYPE_FOURCC, fourcc, NULL); + } } } @@ -613,7 +624,7 @@ gst_v4lsrc_stop (GstBaseSrc * src) { GstV4lSrc *v4lsrc = GST_V4LSRC (src); - if (!gst_v4lsrc_capture_stop (v4lsrc)) + if (GST_V4L_IS_ACTIVE (v4lsrc) && !gst_v4lsrc_capture_stop (v4lsrc)) return FALSE; if (GST_V4LELEMENT (v4lsrc)->buffer != NULL) { |