summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2009-06-23 17:51:32 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2009-06-23 17:52:29 +0200
commit810c60a6f30d2a70a73951fb58c599f1404597b6 (patch)
tree030bdb4ce6e27c35d5bd1d7e46a38d28b8a6f0df
parent20668a07825c727c321b410857c598151f0293e5 (diff)
deinterlace: Remove the interlaced field from the output caps if deinterlacing is enabled
-rw-r--r--gst/deinterlace/gstdeinterlace.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gst/deinterlace/gstdeinterlace.c b/gst/deinterlace/gstdeinterlace.c
index 9a90e407b..55e6f7f7d 100644
--- a/gst/deinterlace/gstdeinterlace.c
+++ b/gst/deinterlace/gstdeinterlace.c
@@ -1511,6 +1511,14 @@ gst_deinterlace_setcaps (GstPad * pad, GstCaps * caps)
othercaps = gst_caps_ref (caps);
}
+ if (otherpad == self->srcpad && self->mode != GST_DEINTERLACE_MODE_DISABLED) {
+ GstStructure *s;
+
+ othercaps = gst_caps_make_writable (othercaps);
+ s = gst_caps_get_structure (othercaps, 0);
+ gst_structure_remove_field (s, "interlaced");
+ }
+
if (!gst_pad_set_caps (otherpad, othercaps))
goto caps_not_accepted;