gstreamer/tools/element-templates/basetransform
2010-12-15 12:47:02 -08:00

160 lines
4.4 KiB
C

/* vim: set filetype=c: */
% ClassName
GstBaseTransform
% TYPE_CLASS_NAME
GST_TYPE_BASE_TRANSFORM
% pads
sinkpad-simple srcpad-simple
% pkg-config
gstreamer-base-0.10
% pads
sinkpad-simple srcpad-simple
% includes
#include <gst/base/gstbasetransform.h>
% prototypes
static GstCaps *gst_replace_transform_caps (GstBaseTransform * trans,
GstPadDirection direction, GstCaps * caps);
static void
gst_replace_fixate_caps (GstBaseTransform * trans,
GstPadDirection direction, GstCaps * caps, GstCaps * othercaps);
static gboolean
gst_replace_transform_size (GstBaseTransform * trans,
GstPadDirection direction,
GstCaps * caps, guint size, GstCaps * othercaps, guint * othersize);
static gboolean
gst_replace_get_unit_size (GstBaseTransform * trans, GstCaps * caps,
guint * size);
static gboolean
gst_replace_set_caps (GstBaseTransform * trans, GstCaps * incaps,
GstCaps * outcaps);
static gboolean gst_replace_start (GstBaseTransform * trans);
static gboolean gst_replace_stop (GstBaseTransform * trans);
static gboolean gst_replace_event (GstBaseTransform * trans, GstEvent * event);
static GstFlowReturn
gst_replace_transform (GstBaseTransform * trans, GstBuffer * inbuf,
GstBuffer * outbuf);
static GstFlowReturn
gst_replace_transform_ip (GstBaseTransform * trans, GstBuffer * buf);
static GstFlowReturn
gst_replace_prepare_output_buffer (GstBaseTransform * trans,
GstBuffer * input, gint size, GstCaps * caps, GstBuffer ** buf);
static gboolean
gst_replace_src_event (GstBaseTransform * trans, GstEvent * event);
static void
gst_replace_before_transform (GstBaseTransform * trans, GstBuffer * buffer);
% declare-class
GstBaseTransformClass *base_transform_class = GST_BASE_TRANSFORM_CLASS (klass);
% set-methods
base_transform_class->transform_caps = GST_DEBUG_FUNCPTR (gst_replace_transform_caps);
base_transform_class->fixate_caps = GST_DEBUG_FUNCPTR (gst_replace_fixate_caps);
base_transform_class->transform_size = GST_DEBUG_FUNCPTR (gst_replace_transform_size);
base_transform_class->get_unit_size = GST_DEBUG_FUNCPTR (gst_replace_get_unit_size);
base_transform_class->set_caps = GST_DEBUG_FUNCPTR (gst_replace_set_caps);
base_transform_class->start = GST_DEBUG_FUNCPTR (gst_replace_start);
base_transform_class->stop = GST_DEBUG_FUNCPTR (gst_replace_stop);
base_transform_class->event = GST_DEBUG_FUNCPTR (gst_replace_event);
base_transform_class->transform = GST_DEBUG_FUNCPTR (gst_replace_transform);
base_transform_class->transform_ip = GST_DEBUG_FUNCPTR (gst_replace_transform_ip);
base_transform_class->prepare_output_buffer = GST_DEBUG_FUNCPTR (gst_replace_prepare_output_buffer);
base_transform_class->src_event = GST_DEBUG_FUNCPTR (gst_replace_src_event);
base_transform_class->before_transform = GST_DEBUG_FUNCPTR (gst_replace_before_transform);
% methods
static GstCaps *
gst_replace_transform_caps (GstBaseTransform * trans,
GstPadDirection direction, GstCaps * caps)
{
return NULL;
}
static void
gst_replace_fixate_caps (GstBaseTransform * trans,
GstPadDirection direction, GstCaps * caps, GstCaps * othercaps)
{
}
static gboolean
gst_replace_transform_size (GstBaseTransform * trans,
GstPadDirection direction,
GstCaps * caps, guint size, GstCaps * othercaps, guint * othersize)
{
return FALSE;
}
static gboolean
gst_replace_get_unit_size (GstBaseTransform * trans, GstCaps * caps,
guint * size)
{
return FALSE;
}
static gboolean
gst_replace_set_caps (GstBaseTransform * trans, GstCaps * incaps,
GstCaps * outcaps)
{
return FALSE;
}
static gboolean
gst_replace_start (GstBaseTransform * trans)
{
return FALSE;
}
static gboolean
gst_replace_stop (GstBaseTransform * trans)
{
return FALSE;
}
static gboolean
gst_replace_event (GstBaseTransform * trans, GstEvent * event)
{
return FALSE;
}
static GstFlowReturn
gst_replace_transform (GstBaseTransform * trans, GstBuffer * inbuf,
GstBuffer * outbuf)
{
return GST_FLOW_ERROR;
}
static GstFlowReturn
gst_replace_transform_ip (GstBaseTransform * trans, GstBuffer * buf)
{
return GST_FLOW_ERROR;
}
static GstFlowReturn
gst_replace_prepare_output_buffer (GstBaseTransform * trans,
GstBuffer * input, gint size, GstCaps * caps, GstBuffer ** buf)
{
return GST_FLOW_ERROR;
}
static gboolean
gst_replace_src_event (GstBaseTransform * trans, GstEvent * event)
{
return FALSE;
}
static void
gst_replace_before_transform (GstBaseTransform * trans, GstBuffer * buffer)
{
}
% end