deinterlace: Fix unit test that checks caps handling
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 23 Apr 2010 12:35:44 +0000 (14:35 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 29 Apr 2010 17:28:23 +0000 (19:28 +0200)
deinterlace now always adds the interlaced field to the output caps,
if it wasn't present in the input caps the output caps will still
contain interlaced=false.

tests/check/elements/deinterlace.c

index 2f7b298..6606a5f 100644 (file)
@@ -256,6 +256,19 @@ deinterlace_set_caps_and_check (GstCaps * input, gboolean must_deinterlace)
   if (must_deinterlace) {
     fail_if (gst_caps_is_interlaced (othercaps));
   } else {
+    GstStructure *s;
+
+    fail_unless (gst_caps_is_interlaced (input) ==
+        gst_caps_is_interlaced (othercaps));
+
+    othercaps = gst_caps_make_writable (othercaps);
+    s = gst_caps_get_structure (othercaps, 0);
+    gst_structure_remove_field (s, "interlaced");
+
+    input = gst_caps_make_writable (input);
+    s = gst_caps_get_structure (input, 0);
+    gst_structure_remove_field (s, "interlaced");
+
     fail_unless (gst_caps_is_equal (input, othercaps));
   }
   gst_caps_unref (input);