element-maker: improve generation of several classes
[platform/upstream/gstreamer.git] / tools / gstbasetransform.c
1 % ClassName
2 GstBaseTransform
3 % TYPE_CLASS_NAME
4 GST_TYPE_BASE_TRANSFORM
5 % pads
6 sinkpad-simple srcpad-simple
7 % pkg-config
8 gstreamer-base-0.10
9 % pads
10 sinkpad-simple srcpad-simple
11 % includes
12 #include <gst/base/gstbasetransform.h>
13 % prototypes
14 static GstCaps *gst_replace_transform_caps (GstBaseTransform * trans,
15     GstPadDirection direction, GstCaps * caps);
16 static void
17 gst_replace_fixate_caps (GstBaseTransform * trans,
18     GstPadDirection direction, GstCaps * caps, GstCaps * othercaps);
19 static gboolean
20 gst_replace_transform_size (GstBaseTransform * trans,
21     GstPadDirection direction,
22     GstCaps * caps, guint size, GstCaps * othercaps, guint * othersize);
23 static gboolean
24 gst_replace_get_unit_size (GstBaseTransform * trans, GstCaps * caps,
25     guint * size);
26 static gboolean
27 gst_replace_set_caps (GstBaseTransform * trans, GstCaps * incaps,
28     GstCaps * outcaps);
29 static gboolean gst_replace_start (GstBaseTransform * trans);
30 static gboolean gst_replace_stop (GstBaseTransform * trans);
31 static gboolean gst_replace_event (GstBaseTransform * trans, GstEvent * event);
32 static GstFlowReturn
33 gst_replace_transform (GstBaseTransform * trans, GstBuffer * inbuf,
34     GstBuffer * outbuf);
35 static GstFlowReturn
36 gst_replace_transform_ip (GstBaseTransform * trans, GstBuffer * buf);
37 static GstFlowReturn
38 gst_replace_prepare_output_buffer (GstBaseTransform * trans,
39     GstBuffer * input, gint size, GstCaps * caps, GstBuffer ** buf);
40 static gboolean
41 gst_replace_src_event (GstBaseTransform * trans, GstEvent * event);
42 static void
43 gst_replace_before_transform (GstBaseTransform * trans, GstBuffer * buffer);
44 % declare-class
45   GstBaseTransformClass *base_transform_class = GST_BASE_TRANSFORM_CLASS (klass);
46 % set-methods
47   base_transform_class->transform_caps = GST_DEBUG_FUNCPTR (gst_replace_transform_caps);
48   base_transform_class->fixate_caps = GST_DEBUG_FUNCPTR (gst_replace_fixate_caps);
49   base_transform_class->transform_size = GST_DEBUG_FUNCPTR (gst_replace_transform_size);
50   base_transform_class->get_unit_size = GST_DEBUG_FUNCPTR (gst_replace_get_unit_size);
51   base_transform_class->set_caps = GST_DEBUG_FUNCPTR (gst_replace_set_caps);
52   base_transform_class->start = GST_DEBUG_FUNCPTR (gst_replace_start);
53   base_transform_class->stop = GST_DEBUG_FUNCPTR (gst_replace_stop);
54   base_transform_class->event = GST_DEBUG_FUNCPTR (gst_replace_event);
55   base_transform_class->transform = GST_DEBUG_FUNCPTR (gst_replace_transform);
56   base_transform_class->transform_ip = GST_DEBUG_FUNCPTR (gst_replace_transform_ip);
57   base_transform_class->prepare_output_buffer = GST_DEBUG_FUNCPTR (gst_replace_prepare_output_buffer);
58   base_transform_class->src_event = GST_DEBUG_FUNCPTR (gst_replace_src_event);
59   base_transform_class->before_transform = GST_DEBUG_FUNCPTR (gst_replace_before_transform);
60 % methods
61
62 static GstCaps *
63 gst_replace_transform_caps (GstBaseTransform * trans,
64     GstPadDirection direction, GstCaps * caps)
65 {
66
67   return NULL;
68 }
69
70 static void
71 gst_replace_fixate_caps (GstBaseTransform * trans,
72     GstPadDirection direction, GstCaps * caps, GstCaps * othercaps)
73 {
74
75 }
76
77 static gboolean
78 gst_replace_transform_size (GstBaseTransform * trans,
79     GstPadDirection direction,
80     GstCaps * caps, guint size, GstCaps * othercaps, guint * othersize)
81 {
82
83   return FALSE;
84 }
85
86 static gboolean
87 gst_replace_get_unit_size (GstBaseTransform * trans, GstCaps * caps,
88     guint * size)
89 {
90
91   return FALSE;
92 }
93
94 static gboolean
95 gst_replace_set_caps (GstBaseTransform * trans, GstCaps * incaps,
96     GstCaps * outcaps)
97 {
98
99   return FALSE;
100 }
101
102 static gboolean
103 gst_replace_start (GstBaseTransform * trans)
104 {
105
106   return FALSE;
107 }
108
109 static gboolean
110 gst_replace_stop (GstBaseTransform * trans)
111 {
112
113   return FALSE;
114 }
115
116 static gboolean
117 gst_replace_event (GstBaseTransform * trans, GstEvent * event)
118 {
119
120   return FALSE;
121 }
122
123 static GstFlowReturn
124 gst_replace_transform (GstBaseTransform * trans, GstBuffer * inbuf,
125     GstBuffer * outbuf)
126 {
127
128   return GST_FLOW_ERROR;
129 }
130
131 static GstFlowReturn
132 gst_replace_transform_ip (GstBaseTransform * trans, GstBuffer * buf)
133 {
134
135   return GST_FLOW_ERROR;
136 }
137
138 static GstFlowReturn
139 gst_replace_prepare_output_buffer (GstBaseTransform * trans,
140     GstBuffer * input, gint size, GstCaps * caps, GstBuffer ** buf)
141 {
142
143   return GST_FLOW_ERROR;
144 }
145
146 static gboolean
147 gst_replace_src_event (GstBaseTransform * trans, GstEvent * event)
148 {
149
150   return FALSE;
151 }
152
153 static void
154 gst_replace_before_transform (GstBaseTransform * trans, GstBuffer * buffer)
155 {
156
157 }
158 % end