1/* vim: set filetype=c: */
2% ClassName
3GstAudioEncoder
4% TYPE_CLASS_NAME
5GST_TYPE_AUDIO_ENCODER
6% pads
7srcpad-simple
8sinkpad-audio
9% pkg-config
10gstreamer-audio-1.0
11% includes
12#include <gst/audio/gstaudioencoder.h>
13% prototypes
14static gboolean gst_replace_start (GstAudioEncoder * encoder);
15static gboolean gst_replace_stop (GstAudioEncoder * encoder);
16static gboolean gst_replace_set_format (GstAudioEncoder * encoder,
17    GstAudioInfo * info);
18static GstFlowReturn gst_replace_handle_frame (GstAudioEncoder * encoder,
19    GstBuffer * buffer);
20static void gst_replace_flush (GstAudioEncoder * encoder);
21static GstFlowReturn gst_replace_pre_push (GstAudioEncoder * encoder,
22    GstBuffer ** buffer);
23static gboolean gst_replace_sink_event (GstAudioEncoder * encoder,
24    GstEvent * event);
25static gboolean gst_replace_src_event (GstAudioEncoder * encoder, GstEvent * event);
26static GstCaps *gst_replace_getcaps (GstAudioEncoder * encoder, GstCaps * filter);
27static gboolean gst_replace_open (GstAudioEncoder * encoder);
28static gboolean gst_replace_close (GstAudioEncoder * encoder);
29static gboolean gst_replace_negotiate (GstAudioEncoder * encoder);
30static gboolean gst_replace_decide_allocation (GstAudioEncoder * encoder,
31    GstQuery * query);
32static gboolean gst_replace_propose_allocation (GstAudioEncoder * encoder,
33    GstQuery * query);
34% declare-class
35  GstAudioEncoderClass *audio_encoder_class = GST_AUDIO_ENCODER_CLASS (klass);
36% set-methods
37  audio_encoder_class->start = GST_DEBUG_FUNCPTR (gst_replace_start);
38  audio_encoder_class->stop = GST_DEBUG_FUNCPTR (gst_replace_stop);
39  audio_encoder_class->set_format = GST_DEBUG_FUNCPTR (gst_replace_set_format);
40  audio_encoder_class->handle_frame = GST_DEBUG_FUNCPTR (gst_replace_handle_frame);
41  audio_encoder_class->flush = GST_DEBUG_FUNCPTR (gst_replace_flush);
42  audio_encoder_class->pre_push = GST_DEBUG_FUNCPTR (gst_replace_pre_push);
43  audio_encoder_class->sink_event = GST_DEBUG_FUNCPTR (gst_replace_sink_event);
44  audio_encoder_class->src_event = GST_DEBUG_FUNCPTR (gst_replace_src_event);
45  audio_encoder_class->getcaps = GST_DEBUG_FUNCPTR (gst_replace_getcaps);
46  audio_encoder_class->open = GST_DEBUG_FUNCPTR (gst_replace_open);
47  audio_encoder_class->close = GST_DEBUG_FUNCPTR (gst_replace_close);
48  audio_encoder_class->negotiate = GST_DEBUG_FUNCPTR (gst_replace_negotiate);
49  audio_encoder_class->decide_allocation = GST_DEBUG_FUNCPTR (gst_replace_decide_allocation);
50  audio_encoder_class->propose_allocation = GST_DEBUG_FUNCPTR (gst_replace_propose_allocation);
51% methods
52static gboolean
53gst_replace_start (GstAudioEncoder * encoder)
54{
55  GstReplace *replace = GST_REPLACE (encoder);
56
57  GST_DEBUG_OBJECT (replace, "start");
58
59  return TRUE;
60}
61
62static gboolean
63gst_replace_stop (GstAudioEncoder * encoder)
64{
65  GstReplace *replace = GST_REPLACE (encoder);
66
67  GST_DEBUG_OBJECT (replace, "stop");
68
69  return TRUE;
70}
71
72static gboolean
73gst_replace_set_format (GstAudioEncoder * encoder, GstAudioInfo * info)
74{
75  GstReplace *replace = GST_REPLACE (encoder);
76
77  GST_DEBUG_OBJECT (replace, "set_format");
78
79  return TRUE;
80}
81
82static GstFlowReturn
83gst_replace_handle_frame (GstAudioEncoder * encoder, GstBuffer * buffer)
84{
85  GstReplace *replace = GST_REPLACE (encoder);
86
87  GST_DEBUG_OBJECT (replace, "handle_frame");
88
89  return GST_FLOW_OK;
90}
91
92static void
93gst_replace_flush (GstAudioEncoder * encoder)
94{
95  GstReplace *replace = GST_REPLACE (encoder);
96
97  GST_DEBUG_OBJECT (replace, "flush");
98
99}
100
101static GstFlowReturn
102gst_replace_pre_push (GstAudioEncoder * encoder, GstBuffer ** buffer)
103{
104  GstReplace *replace = GST_REPLACE (encoder);
105
106  GST_DEBUG_OBJECT (replace, "pre_push");
107
108  return GST_FLOW_OK;
109}
110
111static gboolean
112gst_replace_sink_event (GstAudioEncoder * encoder, GstEvent * event)
113{
114  GstReplace *replace = GST_REPLACE (encoder);
115
116  GST_DEBUG_OBJECT (replace, "sink_event");
117
118  return TRUE;
119}
120
121static gboolean
122gst_replace_src_event (GstAudioEncoder * encoder, GstEvent * event)
123{
124  GstReplace *replace = GST_REPLACE (encoder);
125
126  GST_DEBUG_OBJECT (replace, "src_event");
127
128  return TRUE;
129}
130
131static GstCaps *
132gst_replace_getcaps (GstAudioEncoder * encoder, GstCaps * filter)
133{
134  GstReplace *replace = GST_REPLACE (encoder);
135
136  GST_DEBUG_OBJECT (replace, "getcaps");
137
138  return NULL;
139}
140
141static gboolean
142gst_replace_open (GstAudioEncoder * encoder)
143{
144  GstReplace *replace = GST_REPLACE (encoder);
145
146  GST_DEBUG_OBJECT (replace, "open");
147
148  return TRUE;
149}
150
151static gboolean
152gst_replace_close (GstAudioEncoder * encoder)
153{
154  GstReplace *replace = GST_REPLACE (encoder);
155
156  GST_DEBUG_OBJECT (replace, "close");
157
158  return TRUE;
159}
160
161static gboolean
162gst_replace_negotiate (GstAudioEncoder * encoder)
163{
164  GstReplace *replace = GST_REPLACE (encoder);
165
166  GST_DEBUG_OBJECT (replace, "negotiate");
167
168  return TRUE;
169}
170
171static gboolean
172gst_replace_decide_allocation (GstAudioEncoder * encoder, GstQuery * query)
173{
174  GstReplace *replace = GST_REPLACE (encoder);
175
176  GST_DEBUG_OBJECT (replace, "decide_allocation");
177
178  return TRUE;
179}
180
181static gboolean
182gst_replace_propose_allocation (GstAudioEncoder * encoder, GstQuery * query)
183{
184  GstReplace *replace = GST_REPLACE (encoder);
185
186  GST_DEBUG_OBJECT (replace, "propose_allocation");
187
188  return TRUE;
189}
190% end
191