summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorVivia Nikolaidou <vivia@ahiru.eu>2021-03-08 16:16:25 +0200
committerTim-Philipp Müller <tim@centricular.com>2021-03-12 00:09:37 +0000
commitae67bd6501ddf31a9c58bab26962f7e259af0052 (patch)
tree4674a62886c36bddcabbdb05fed506a0e8958086 /gst
parentf6c7b8cb2283d4d03e2a35b162f253fca4e2e59a (diff)
downloadgstreamer-plugins-bad-ae67bd6501ddf31a9c58bab26962f7e259af0052.tar.gz
interlace: Specify interlace-modes in the sink pad template
Especially specify the field-order in the interleaved mode. Otherwise it might cause the negotiation to fail, because GST_PAD_SET_ACCEPT_INTERSECT is not set on the sinkpad, and the field-order is missing in the sink template but can be present in the outside caps. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2067>
Diffstat (limited to 'gst')
-rw-r--r--gst/interlace/gstinterlace.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/gst/interlace/gstinterlace.c b/gst/interlace/gstinterlace.c
index 6133bd539..ca1359928 100644
--- a/gst/interlace/gstinterlace.c
+++ b/gst/interlace/gstinterlace.c
@@ -186,12 +186,16 @@ static GstStaticPadTemplate gst_interlace_src_template =
);
static GstStaticPadTemplate gst_interlace_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
+ GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE
- ("{AYUV,YUY2,UYVY,I420,YV12,Y42B,Y444,NV12,NV21}")
- )
+ GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (VIDEO_FORMATS)
+ ",interlace-mode=progressive ;" GST_VIDEO_CAPS_MAKE (VIDEO_FORMATS)
+ ",interlace-mode=interleaved,field-order={top-field-first,bottom-field-first}; "
+ GST_VIDEO_CAPS_MAKE (VIDEO_FORMATS) ",interlace-mode=mixed ;"
+ GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_FORMAT_INTERLACED,
+ VIDEO_FORMATS)
+ ",interlace-mode=alternate")
);
GType gst_interlace_get_type (void);