diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-06-23 17:51:32 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-06-23 17:52:29 +0200 |
commit | 810c60a6f30d2a70a73951fb58c599f1404597b6 (patch) | |
tree | 030bdb4ce6e27c35d5bd1d7e46a38d28b8a6f0df | |
parent | 20668a07825c727c321b410857c598151f0293e5 (diff) |
deinterlace: Remove the interlaced field from the output caps if deinterlacing is enabled
-rw-r--r-- | gst/deinterlace/gstdeinterlace.c | 8 |
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; |