diff options
author | David Schleef <ds@schleef.org> | 2013-02-06 15:48:06 -0800 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2013-02-06 15:51:01 -0800 |
commit | 65927acc455fc2b5422f2dde6db5cbfcafeafc2b (patch) | |
tree | f6712fbfc762aeea9406d1eedfa7d11a719e41fe /gst/interlace/gstinterlace.c | |
parent | f790fcbfa68e103406381a2f2eb1c2445055d08d (diff) |
interlace: fix negotiation for true interlaced modes
Diffstat (limited to 'gst/interlace/gstinterlace.c')
-rw-r--r-- | gst/interlace/gstinterlace.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gst/interlace/gstinterlace.c b/gst/interlace/gstinterlace.c index 81251a03b..2e35008a8 100644 --- a/gst/interlace/gstinterlace.c +++ b/gst/interlace/gstinterlace.c @@ -499,6 +499,7 @@ gst_interlace_getcaps (GstPad * pad, GstInterlace * interlace, GstCaps * filter) GstPad *otherpad; GstCaps *othercaps, *tcaps; GstCaps *icaps; + const char *mode; otherpad = (pad == interlace->srcpad) ? interlace->sinkpad : interlace->srcpad; @@ -520,8 +521,13 @@ gst_interlace_getcaps (GstPad * pad, GstInterlace * interlace, GstCaps * filter) } icaps = gst_caps_make_writable (icaps); + if (interlace->pattern > GST_INTERLACE_PATTERN_2_2) { + mode = "mixed"; + } else { + mode = "interleaved"; + } gst_caps_set_simple (icaps, "interlace-mode", G_TYPE_STRING, - pad == interlace->srcpad ? "mixed" : "progressive", NULL); + pad == interlace->srcpad ? mode : "progressive", NULL); gst_caps_unref (tcaps); |