diff options
author | Vivia Nikolaidou <vivia@ahiru.eu> | 2021-03-08 16:16:25 +0200 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2021-03-12 00:09:37 +0000 |
commit | ae67bd6501ddf31a9c58bab26962f7e259af0052 (patch) | |
tree | 4674a62886c36bddcabbdb05fed506a0e8958086 /gst | |
parent | f6c7b8cb2283d4d03e2a35b162f253fca4e2e59a (diff) | |
download | gstreamer-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.c | 12 |
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); |