summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorVivia Nikolaidou <vivia@ahiru.eu>2020-06-18 20:41:35 +0300
committerVivia Nikolaidou <vivia@ahiru.eu>2020-06-24 11:15:48 +0300
commit0c63c8d1f543ff6c0801c71c6c11d5f9425560d1 (patch)
treea480e1829cc8616902e3ba7abb963f3e2674f40e /gst
parent7d6afed2bbd9a48c402031f1c3c277418e54ed30 (diff)
downloadgstreamer-plugins-bad-0c63c8d1f543ff6c0801c71c6c11d5f9425560d1.tar.gz
interlace: Add FIXME comment about false passthrough bug
If interlace-mode is missing from upstream caps, we can falsely do passthrough when in fact we'd have to switch fields. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349>
Diffstat (limited to 'gst')
-rw-r--r--gst/interlace/gstinterlace.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gst/interlace/gstinterlace.c b/gst/interlace/gstinterlace.c
index a15de748d..31760ac12 100644
--- a/gst/interlace/gstinterlace.c
+++ b/gst/interlace/gstinterlace.c
@@ -453,6 +453,13 @@ gst_interlace_setcaps (GstInterlace * interlace, GstCaps * caps)
}
if (gst_caps_can_intersect (caps, othercaps)) {
+ /* FIXME: field-order is optional in the caps. This means that, if we're
+ * in a non-telecine mode and we have TFF upstream and
+ * top-field-first=FALSE in interlace (or the other way around), AND
+ * field-order isn't mentioned in the caps, we will do passthrough here
+ * and end up outptuting wrong data. Must detect missing field-order info
+ * and not do passthrough in that case, but instead check the
+ * GstVideoBufferFlags at the switch_fields check */
interlace->passthrough = TRUE;
} else {
if (GST_VIDEO_INFO_IS_INTERLACED (&info)) {