| /* vim: set filetype=c: */ | |
| % ClassName | |
| GstAudioDecoder | |
| % TYPE_CLASS_NAME | |
| GST_TYPE_AUDIO_DECODER | |
| % pads | |
| srcpad-audio | |
| sinkpad-simple | |
| % pkg-config | |
| gstreamer-audio-1.0 | |
| % includes | |
| #include <gst/audio/gstaudiodecoder.h> | |
| % prototypes | |
| static gboolean gst_replace_start (GstAudioDecoder * decoder); | |
| static gboolean gst_replace_stop (GstAudioDecoder * decoder); | |
| static gboolean gst_replace_set_format (GstAudioDecoder * decoder, GstCaps * caps); | |
| static GstFlowReturn gst_replace_parse (GstAudioDecoder * decoder, | |
| GstAdapter * adapter, gint * offset, gint * length); | |
| static GstFlowReturn gst_replace_handle_frame (GstAudioDecoder * decoder, | |
| GstBuffer * buffer); | |
| static void gst_replace_flush (GstAudioDecoder * decoder, gboolean hard); | |
| static GstFlowReturn gst_replace_pre_push (GstAudioDecoder * decoder, | |
| GstBuffer ** buffer); | |
| static gboolean gst_replace_sink_event (GstAudioDecoder * decoder, | |
| GstEvent * event); | |
| static gboolean gst_replace_src_event (GstAudioDecoder * decoder, GstEvent * event); | |
| static gboolean gst_replace_open (GstAudioDecoder * decoder); | |
| static gboolean gst_replace_close (GstAudioDecoder * decoder); | |
| static gboolean gst_replace_negotiate (GstAudioDecoder * decoder); | |
| static gboolean gst_replace_decide_allocation (GstAudioDecoder * decoder, | |
| GstQuery * query); | |
| static gboolean gst_replace_propose_allocation (GstAudioDecoder * decoder, | |
| GstQuery * query); | |
| % declare-class | |
| GstAudioDecoderClass *audio_decoder_class = GST_AUDIO_DECODER_CLASS (klass); | |
| % set-methods | |
| audio_decoder_class->start = GST_DEBUG_FUNCPTR (gst_replace_start); | |
| audio_decoder_class->stop = GST_DEBUG_FUNCPTR (gst_replace_stop); | |
| audio_decoder_class->set_format = GST_DEBUG_FUNCPTR (gst_replace_set_format); | |
| audio_decoder_class->parse = GST_DEBUG_FUNCPTR (gst_replace_parse); | |
| audio_decoder_class->handle_frame = GST_DEBUG_FUNCPTR (gst_replace_handle_frame); | |
| audio_decoder_class->flush = GST_DEBUG_FUNCPTR (gst_replace_flush); | |
| audio_decoder_class->pre_push = GST_DEBUG_FUNCPTR (gst_replace_pre_push); | |
| audio_decoder_class->sink_event = GST_DEBUG_FUNCPTR (gst_replace_sink_event); | |
| audio_decoder_class->src_event = GST_DEBUG_FUNCPTR (gst_replace_src_event); | |
| audio_decoder_class->open = GST_DEBUG_FUNCPTR (gst_replace_open); | |
| audio_decoder_class->close = GST_DEBUG_FUNCPTR (gst_replace_close); | |
| audio_decoder_class->negotiate = GST_DEBUG_FUNCPTR (gst_replace_negotiate); | |
| audio_decoder_class->decide_allocation = GST_DEBUG_FUNCPTR (gst_replace_decide_allocation); | |
| audio_decoder_class->propose_allocation = GST_DEBUG_FUNCPTR (gst_replace_propose_allocation); | |
| % methods | |
| static gboolean | |
| gst_replace_start (GstAudioDecoder * decoder) | |
| { | |
| GstReplace *replace = GST_REPLACE (decoder); | |
| GST_DEBUG_OBJECT (replace, "start"); | |
| return TRUE; | |
| } | |
| static gboolean | |
| gst_replace_stop (GstAudioDecoder * decoder) | |
| { | |
| GstReplace *replace = GST_REPLACE (decoder); | |
| GST_DEBUG_OBJECT (replace, "stop"); | |
| return TRUE; | |
| } | |
| static gboolean | |
| gst_replace_set_format (GstAudioDecoder * decoder, GstCaps * caps) | |
| { | |
| GstReplace *replace = GST_REPLACE (decoder); | |
| GST_DEBUG_OBJECT (replace, "set_format"); | |
| return TRUE; | |
| } | |
| static GstFlowReturn | |
| gst_replace_parse (GstAudioDecoder * decoder, GstAdapter * adapter, gint * offset, | |
| gint * length) | |
| { | |
| GstReplace *replace = GST_REPLACE (decoder); | |
| GST_DEBUG_OBJECT (replace, "parse"); | |
| return GST_FLOW_OK; | |
| } | |
| static GstFlowReturn | |
| gst_replace_handle_frame (GstAudioDecoder * decoder, GstBuffer * buffer) | |
| { | |
| GstReplace *replace = GST_REPLACE (decoder); | |
| GST_DEBUG_OBJECT (replace, "handle_frame"); | |
| return GST_FLOW_OK; | |
| } | |
| static void | |
| gst_replace_flush (GstAudioDecoder * decoder, gboolean hard) | |
| { | |
| GstReplace *replace = GST_REPLACE (decoder); | |
| GST_DEBUG_OBJECT (replace, "flush"); | |
| } | |
| static GstFlowReturn | |
| gst_replace_pre_push (GstAudioDecoder * decoder, GstBuffer ** buffer) | |
| { | |
| GstReplace *replace = GST_REPLACE (decoder); | |
| GST_DEBUG_OBJECT (replace, "pre_push"); | |
| return GST_FLOW_OK; | |
| } | |
| static gboolean | |
| gst_replace_sink_event (GstAudioDecoder * decoder, GstEvent * event) | |
| { | |
| GstReplace *replace = GST_REPLACE (decoder); | |
| GST_DEBUG_OBJECT (replace, "sink_event"); | |
| return TRUE; | |
| } | |
| static gboolean | |
| gst_replace_src_event (GstAudioDecoder * decoder, GstEvent * event) | |
| { | |
| GstReplace *replace = GST_REPLACE (decoder); | |
| GST_DEBUG_OBJECT (replace, "src_event"); | |
| return TRUE; | |
| } | |
| static gboolean | |
| gst_replace_open (GstAudioDecoder * decoder) | |
| { | |
| GstReplace *replace = GST_REPLACE (decoder); | |
| GST_DEBUG_OBJECT (replace, "open"); | |
| return TRUE; | |
| } | |
| static gboolean | |
| gst_replace_close (GstAudioDecoder * decoder) | |
| { | |
| GstReplace *replace = GST_REPLACE (decoder); | |
| GST_DEBUG_OBJECT (replace, "close"); | |
| return TRUE; | |
| } | |
| static gboolean | |
| gst_replace_negotiate (GstAudioDecoder * decoder) | |
| { | |
| GstReplace *replace = GST_REPLACE (decoder); | |
| GST_DEBUG_OBJECT (replace, "negotiate"); | |
| return TRUE; | |
| } | |
| static gboolean | |
| gst_replace_decide_allocation (GstAudioDecoder * decoder, GstQuery * query) | |
| { | |
| GstReplace *replace = GST_REPLACE (decoder); | |
| GST_DEBUG_OBJECT (replace, "decide_allocation"); | |
| return TRUE; | |
| } | |
| static gboolean | |
| gst_replace_propose_allocation (GstAudioDecoder * decoder, GstQuery * query) | |
| { | |
| GstReplace *replace = GST_REPLACE (decoder); | |
| GST_DEBUG_OBJECT (replace, "propose_allocation"); | |
| return TRUE; | |
| } | |
| % end |