summaryrefslogtreecommitdiff
path: root/gst/interlace/gstinterlace.c
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2013-02-06 15:48:06 -0800
committerDavid Schleef <ds@schleef.org>2013-02-06 15:51:01 -0800
commit65927acc455fc2b5422f2dde6db5cbfcafeafc2b (patch)
treef6712fbfc762aeea9406d1eedfa7d11a719e41fe /gst/interlace/gstinterlace.c
parentf790fcbfa68e103406381a2f2eb1c2445055d08d (diff)
interlace: fix negotiation for true interlaced modes
Diffstat (limited to 'gst/interlace/gstinterlace.c')
-rw-r--r--gst/interlace/gstinterlace.c8
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);