v4l2: sort formats in the right order so that non-emulated formats are prefered
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>
Fri, 6 Aug 2010 17:07:46 +0000 (18:07 +0100)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Fri, 6 Aug 2010 19:07:21 +0000 (20:07 +0100)
The format list should be sorted from high ranks to low ranks. In the GSList
sorting function this means the compare needs to return a positive value if
format a has a lower rank than format b.

Among other things this fixes v4l2src to prefer non-emulated formats
to emulated formats when built against libv4l.

sys/v4l2/gstv4l2object.c

index 37a30e344c705f5912cda79c052e6bbaa1930a4c..c77da5e97a4e462f4e224fce50743a40a7c823b4 100644 (file)
@@ -864,8 +864,8 @@ format_cmp_func (gconstpointer a, gconstpointer b)
   if (fa->pixelformat == fb->pixelformat)
     return 0;
 
-  return gst_v4l2_object_format_get_rank (fa) -
-      gst_v4l2_object_format_get_rank (fb);
+  return gst_v4l2_object_format_get_rank (fb) -
+      gst_v4l2_object_format_get_rank (fa);
 }
 
 /******************************************************