From 2676ac90751ff933f4d7e1a286cd304907081166 Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Wed, 19 Mar 2014 17:25:16 -0400 Subject: [PATCH] v4l2transform: Expose BGRA and ARGB formats --- sys/v4l2/gstv4l2.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/sys/v4l2/gstv4l2.c b/sys/v4l2/gstv4l2.c index db1052dd53..d4871f8d7f 100644 --- a/sys/v4l2/gstv4l2.c +++ b/sys/v4l2/gstv4l2.c @@ -82,8 +82,26 @@ gst_v4l2_probe_template_caps (const gchar * device, gint video_fd, template = gst_v4l2_object_v4l2fourcc_to_structure (format.pixelformat); - if (template) + if (template) { + GstStructure *alt_t = NULL; + + switch (format.pixelformat) { + case V4L2_PIX_FMT_RGB32: + alt_t = gst_structure_copy (template); + gst_structure_set (alt_t, "format", G_TYPE_STRING, "ARGB", NULL); + break; + case V4L2_PIX_FMT_BGR32: + alt_t = gst_structure_copy (template); + gst_structure_set (alt_t, "format", G_TYPE_STRING, "BGRA", NULL); + default: + break; + } + gst_caps_append_structure (caps, template); + + if (alt_t) + gst_caps_append_structure (caps, alt_t); + } } return gst_caps_simplify (caps);