diff --git a/tools/element-templates/audiofilter b/tools/element-templates/audiofilter index cf10fc1202..5e7ea376bf 100644 --- a/tools/element-templates/audiofilter +++ b/tools/element-templates/audiofilter @@ -12,27 +12,56 @@ gstreamer-audio-0.10 % prototypes static gboolean gst_replace_setup (GstAudioFilter * filter, GstRingBufferSpec * format); +static gboolean +gst_replace_start (GstBaseTransform * trans); static GstFlowReturn gst_replace_transform_ip (GstBaseTransform * trans, GstBuffer * buf); +static gboolean +gst_replace_stop (GstBaseTransform * trans); % declare-class GstAudioFilterClass *audio_filter_class = GST_AUDIO_FILTER_CLASS (klass); GstBaseTransformClass *base_transform_class = GST_BASE_TRANSFORM_CLASS (klass); % set-methods audio_filter_class->setup = GST_DEBUG_FUNCPTR (gst_replace_setup); + base_transform_class->start = GST_DEBUG_FUNCPTR (gst_replace_start); base_transform_class->transform_ip = GST_DEBUG_FUNCPTR (gst_replace_transform_ip); + base_transform_class->stop = GST_DEBUG_FUNCPTR (gst_replace_stop); % methods static gboolean gst_replace_setup (GstAudioFilter * filter, GstRingBufferSpec * format) { + /* GstReplace *replace = GST_REPLACE (filter); */ + + /* handle audio format changes */ + return TRUE; +} + +static gboolean +gst_replace_start (GstBaseTransform * trans) +{ + /* GstReplace *replace = GST_REPLACE (trans); */ + + /* initialize processing */ return TRUE; } static GstFlowReturn gst_replace_transform_ip (GstBaseTransform * trans, GstBuffer * buf) { + /* GstReplace *replace = GST_REPLACE (trans); */ - return GST_FLOW_ERROR; + /* process the audio data in the buffer in-place */ + return GST_FLOW_OK; +} + +static gboolean +gst_replace_stop (GstBaseTransform * trans) +{ + /* GstReplace *replace = GST_REPLACE (trans); */ + + /* finalize processing */ + return TRUE; } % end