Would be nicer if one could just supplement the generic template
from the element template though.
Also, I would really have liked to just add those sections from the
pads template into the element templet directly (so I can cater for
src template caps == sink template caps), but that didn't seem to
work.
--- /dev/null
+/* vim: set filetype=c: */
+
+% instance-members
+% prototypes
+% pad-template
+/* FIXME: add/remove formats you can handle */
+#define VIDEO_SINK_CAPS \
+ GST_VIDEO_CAPS_RGBA \
+ GST_VIDEO_CAPS_ARGB \
+ GST_VIDEO_CAPS_BGRA \
+ GST_VIDEO_CAPS_ABGR \
+ GST_VIDEO_CAPS_RGBx \
+ GST_VIDEO_CAPS_xRGB \
+ GST_VIDEO_CAPS_BGRx \
+ GST_VIDEO_CAPS_xBGR \
+ GST_VIDEO_CAPS_RGB \
+ GST_VIDEO_CAPS_BGR \
+ GST_VIDEO_CAPS_YUV("{ AYUV }")
+
+static GstStaticPadTemplate gst_replace_sink_template =
+GST_STATIC_PAD_TEMPLATE ("sink",
+ GST_PAD_SINK,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS (VIDEO_SINK_CAPS)
+ );
+
+% base-init
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_replace_sink_template);
+% instance-init
+% methods
+% end
+
--- /dev/null
+/* vim: set filetype=c: */
+
+% instance-members
+% prototypes
+% pad-template
+/* FIXME: add/remove formats you can handle */
+#define VIDEO_SRC_CAPS \
+ GST_VIDEO_CAPS_RGBA \
+ GST_VIDEO_CAPS_ARGB \
+ GST_VIDEO_CAPS_BGRA \
+ GST_VIDEO_CAPS_ABGR \
+ GST_VIDEO_CAPS_RGBx \
+ GST_VIDEO_CAPS_xRGB \
+ GST_VIDEO_CAPS_BGRx \
+ GST_VIDEO_CAPS_xBGR \
+ GST_VIDEO_CAPS_RGB \
+ GST_VIDEO_CAPS_BGR \
+ GST_VIDEO_CAPS_YUV("{ AYUV }")
+
+static GstStaticPadTemplate gst_replace_src_template =
+GST_STATIC_PAD_TEMPLATE ("src",
+ GST_PAD_SRC,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS (VIDEO_SRC_CAPS)
+ );
+
+% base-init
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_replace_src_template);
+% instance-init
+% methods
+% end
+
% TYPE_CLASS_NAME
GST_TYPE_VIDEO_FILTER
% pads
-sinkpad-template srcpad-template
+sinkpad-template-video srcpad-template-video
% pkg-config
gstreamer-video-0.10
% includes