gobject_class->set_property = gst_gl_bumper_set_property;
gobject_class->get_property = gst_gl_bumper_get_property;
+ gst_gl_filter_add_rgba_pad_templates (GST_GL_FILTER_CLASS (klass));
+
GST_GL_FILTER_CLASS (klass)->filter_texture = gst_gl_bumper_filter_texture;
GST_GL_FILTER_CLASS (klass)->display_init_cb = gst_gl_bumper_init_resources;
GST_GL_FILTER_CLASS (klass)->display_reset_cb = gst_gl_bumper_reset_resources;
GST_DEBUG_CATEGORY_INIT (glcolorbalance_debug, "glcolorbalance", 0,
"glcolorbalance");
+ gst_gl_filter_add_rgba_pad_templates (GST_GL_FILTER_CLASS (klass));
+
gobject_class->finalize = gst_gl_color_balance_finalize;
gobject_class->set_property = gst_gl_color_balance_set_property;
gobject_class->get_property = gst_gl_color_balance_get_property;
base_filter_class = GST_GL_BASE_FILTER_CLASS (klass);
filter_class = GST_GL_FILTER_CLASS (klass);
+ gst_gl_filter_add_rgba_pad_templates (GST_GL_FILTER_CLASS (klass));
+
gobject_class->set_property = gst_gl_colorscale_set_property;
gobject_class->get_property = gst_gl_colorscale_get_property;
gobject_class = (GObjectClass *) klass;
element_class = GST_ELEMENT_CLASS (klass);
+ gst_gl_filter_add_rgba_pad_templates (GST_GL_FILTER_CLASS (klass));
+
gobject_class->set_property = gst_gl_deinterlace_set_property;
gobject_class->get_property = gst_gl_deinterlace_get_property;
gobject_class = (GObjectClass *) klass;
element_class = GST_ELEMENT_CLASS (klass);
+
+ gst_gl_filter_add_rgba_pad_templates (GST_GL_FILTER_CLASS (klass));
+
gobject_class->set_property = gst_gl_differencematte_set_property;
gobject_class->get_property = gst_gl_differencematte_get_property;
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+ gst_gl_filter_add_rgba_pad_templates (GST_GL_FILTER_CLASS (klass));
+
GST_BASE_TRANSFORM_CLASS (klass)->start = gst_gl_effects_init_resources;
GST_BASE_TRANSFORM_CLASS (klass)->stop = gst_gl_effects_reset_resources;
gobject_class = (GObjectClass *) klass;
element_class = GST_ELEMENT_CLASS (klass);
+ gst_gl_filter_add_rgba_pad_templates (GST_GL_FILTER_CLASS (klass));
+
gobject_class->set_property = gst_gl_filter_app_set_property;
gobject_class->get_property = gst_gl_filter_app_get_property;
gobject_class = (GObjectClass *) klass;
element_class = GST_ELEMENT_CLASS (klass);
+ gst_gl_filter_add_rgba_pad_templates (GST_GL_FILTER_CLASS (klass));
+
gobject_class->set_property = gst_gl_filter_cube_set_property;
gobject_class->get_property = gst_gl_filter_cube_get_property;
gobject_class = (GObjectClass *) klass;
element_class = GST_ELEMENT_CLASS (klass);
+ gst_gl_filter_add_rgba_pad_templates (GST_GL_FILTER_CLASS (klass));
+
gobject_class->set_property = gst_gl_filter_glass_set_property;
gobject_class->get_property = gst_gl_filter_glass_get_property;
gobject_class = (GObjectClass *) klass;
element_class = GST_ELEMENT_CLASS (klass);
+ gst_gl_filter_add_rgba_pad_templates (GST_GL_FILTER_CLASS (klass));
+
gobject_class->set_property = gst_gl_filter_reflected_screen_set_property;
gobject_class->get_property = gst_gl_filter_reflected_screen_get_property;
gobject_class = (GObjectClass *) klass;
element_class = GST_ELEMENT_CLASS (klass);
+ gst_gl_filter_add_rgba_pad_templates (GST_GL_FILTER_CLASS (klass));
+
gobject_class->finalize = gst_gl_filtershader_finalize;
gobject_class->set_property = gst_gl_filtershader_set_property;
gobject_class->get_property = gst_gl_filtershader_get_property;
gobject_class = (GObjectClass *) klass;
element_class = GST_ELEMENT_CLASS (klass);
+ gst_gl_filter_add_rgba_pad_templates (GST_GL_FILTER_CLASS (klass));
+
gobject_class->set_property = gst_gl_overlay_set_property;
gobject_class->get_property = gst_gl_overlay_get_property;
element_class = GST_ELEMENT_CLASS (klass);
base_transform_class = GST_BASE_TRANSFORM_CLASS (klass);
+ gst_gl_filter_add_rgba_pad_templates (GST_GL_FILTER_CLASS (klass));
+
gobject_class->set_property = gst_gl_transformation_set_property;
gobject_class->get_property = gst_gl_transformation_get_property;
gobject_class = (GObjectClass *) klass;
element_class = GST_ELEMENT_CLASS (klass);
+ gst_gl_filter_add_rgba_pad_templates (GST_GL_FILTER_CLASS (klass));
+
gobject_class->set_property = gst_gl_view_convert_element_set_property;
gobject_class->get_property = gst_gl_view_convert_element_get_property;
gobject_class->dispose = gst_gl_view_convert_dispose;
static gboolean gst_gl_filter_gl_set_caps (GstGLBaseFilter * bt,
GstCaps * incaps, GstCaps * outcaps);
+void
+gst_gl_filter_add_rgba_pad_templates (GstGLFilterClass * klass)
+{
+ GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_gl_filter_src_pad_template);
+ gst_element_class_add_static_pad_template (element_class,
+ &gst_gl_filter_sink_pad_template);
+}
+
static void
gst_gl_filter_class_init (GstGLFilterClass * klass)
{
GObjectClass *gobject_class;
- GstElementClass *element_class;
gobject_class = (GObjectClass *) klass;
- element_class = GST_ELEMENT_CLASS (klass);
gobject_class->set_property = gst_gl_filter_set_property;
gobject_class->get_property = gst_gl_filter_get_property;
GST_GL_BASE_FILTER_CLASS (klass)->gl_set_caps = gst_gl_filter_gl_set_caps;
klass->transform_internal_caps = default_transform_internal_caps;
-
- gst_element_class_add_static_pad_template (element_class,
- &gst_gl_filter_src_pad_template);
- gst_element_class_add_static_pad_template (element_class,
- &gst_gl_filter_sink_pad_template);
}
static void
gst_caps_features_from_string (GST_CAPS_FEATURE_MEMORY_GL_MEMORY));
}
- gst_caps_set_simple (ret, "format", G_TYPE_STRING, "RGBA", NULL);
return ret;
}
};
GST_EXPORT
+void gst_gl_filter_add_rgba_pad_templates (GstGLFilterClass *klass);
+
+GST_EXPORT
gboolean gst_gl_filter_filter_texture (GstGLFilter * filter, GstBuffer * inbuf,
GstBuffer * outbuf);