interlace: fix negotiation for true interlaced modes
This commit is contained in:
parent
f790fcbfa6
commit
65927acc45
@ -499,6 +499,7 @@ gst_interlace_getcaps (GstPad * pad, GstInterlace * interlace, GstCaps * filter)
|
|||||||
GstPad *otherpad;
|
GstPad *otherpad;
|
||||||
GstCaps *othercaps, *tcaps;
|
GstCaps *othercaps, *tcaps;
|
||||||
GstCaps *icaps;
|
GstCaps *icaps;
|
||||||
|
const char *mode;
|
||||||
|
|
||||||
otherpad =
|
otherpad =
|
||||||
(pad == interlace->srcpad) ? interlace->sinkpad : interlace->srcpad;
|
(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);
|
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,
|
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);
|
gst_caps_unref (tcaps);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user