deinterlace: do not try set deinterlace method if passthrough is enabled
authorMatthieu Bouron <matthieu.bouron@collabora.com>
Thu, 16 Jan 2014 11:26:41 +0000 (11:26 +0000)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 4 Feb 2014 20:44:35 +0000 (21:44 +0100)
Fixes an issue with progressive content and unsupported video formats
for the deinterlace method.

https://bugzilla.gnome.org/show_bug.cgi?id=719636

gst/deinterlace/gstdeinterlace.c

index 800bb08..7b00b11 100644 (file)
@@ -2472,8 +2472,10 @@ gst_deinterlace_setcaps (GstDeinterlace * self, GstPad * pad, GstCaps * caps)
     self->field_duration = 0;
   }
 
-  gst_deinterlace_set_method (self, self->method_id);
-  gst_deinterlace_method_setup (self->method, &self->vinfo);
+  if (!self->passthrough) {
+    gst_deinterlace_set_method (self, self->method_id);
+    gst_deinterlace_method_setup (self->method, &self->vinfo);
+  }
 
   GST_DEBUG_OBJECT (pad, "Sink caps: %" GST_PTR_FORMAT, caps);
   GST_DEBUG_OBJECT (pad, "Src  caps: %" GST_PTR_FORMAT, srccaps);