/* vim: set filetype=c: */
% ClassName
GstVideoFilter2
% TYPE_CLASS_NAME
GST_TYPE_VIDEO_FILTER2
% pads
% pkg-config
gstreamer-base-0.10
% pads
% includes
#include <gst/base/gstbasetransform.h>
#include <gst/video/video.h>
#include "../gst/videofilters/gstvideofilter2.h"
% prototypes
static gboolean gst_replace_start (GstBaseTransform * trans);
static gboolean gst_replace_stop (GstBaseTransform * trans);
static GstFlowReturn
gst_replace_prefilter (GstVideoFilter2 *videofilter2, GstBuffer * buf);

static GstVideoFilter2Functions gst_replace_filter_functions[];
% declare-class
  GstBaseTransformClass *base_transform_class = GST_BASE_TRANSFORM_CLASS (klass);
  GstVideoFilter2Class *video_filter2_class = GST_VIDEO_FILTER2_CLASS (klass);
% set-methods
  base_transform_class->start = GST_DEBUG_FUNCPTR (gst_replace_start);
  base_transform_class->stop = GST_DEBUG_FUNCPTR (gst_replace_stop);
  video_filter2_class->prefilter = GST_DEBUG_FUNCPTR (gst_replace_prefilter);

  gst_video_filter2_class_add_functions (video_filter2_class,
      gst_replace_filter_functions);
% methods

static gboolean
gst_replace_start (GstBaseTransform * trans)
{

  return TRUE;
}

static gboolean
gst_replace_stop (GstBaseTransform * trans)
{

  return TRUE;
}

static GstFlowReturn
gst_replace_prefilter (GstVideoFilter2 *video_filter2, GstBuffer * buf)
{

  return GST_FLOW_OK;
}

static GstFlowReturn
gst_replace_filter_ip_I420 (GstVideoFilter2 * videofilter2,
		    GstBuffer * buf, int start, int end)
{
  return GST_FLOW_OK;
}

static GstVideoFilter2Functions gst_replace_filter_functions[] = {
  {GST_VIDEO_FORMAT_I420, NULL, gst_replace_filter_ip_I420},
  {GST_VIDEO_FORMAT_UNKNOWN}
};


% end
