From e7ae593993af5dcc4b7c46dee25aae23c63864ce Mon Sep 17 00:00:00 2001 From: Sjoerd Simons Date: Mon, 7 Nov 2011 18:43:26 +0000 Subject: [PATCH] v4l2: Set pixel-aspect-ratio to 1/1 We don't currently support setting the pixel-aspect-ratio from V4L2. So simply set it to be 1/1 in the caps to prevent negotiation failures when fixating to weird values (e.g. when the downstream caps has pixel-aspect-ratio = [ MIN, MAX ] ) https://bugzilla.gnome.org/show_bug.cgi?id=663580 --- sys/v4l2/gstv4l2object.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c index 903e63a..76ac677 100644 --- a/sys/v4l2/gstv4l2object.c +++ b/sys/v4l2/gstv4l2object.c @@ -1719,7 +1719,8 @@ return_data: s = gst_structure_copy (template); gst_structure_set (s, "width", G_TYPE_INT, (gint) width, "height", G_TYPE_INT, (gint) height, - "interlaced", G_TYPE_BOOLEAN, interlaced, NULL); + "interlaced", G_TYPE_BOOLEAN, interlaced, + "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1, NULL); if (G_IS_VALUE (&rates)) { /* only change the framerate on the template when we have a valid probed new @@ -1980,6 +1981,8 @@ default_frame_sizes: gst_structure_set (tmp, "height", GST_TYPE_INT_RANGE, min_h, max_h, NULL); gst_structure_set (tmp, "interlaced", G_TYPE_BOOLEAN, interlaced, NULL); + gst_structure_set (tmp, "pixel-aspect-ratio", + GST_TYPE_FRACTION, 1, 1, NULL); gst_caps_append_structure (ret, tmp); -- 2.7.4