/* vim: set filetype=c: */ % ClassName GstBaseParse % TYPE_CLASS_NAME GST_TYPE_BASE_PARSE % pads srcpad-simple sinkpad-simple % pkg-config gstreamer-base-1.0 % includes #include % prototypes static gboolean gst_replace_start (GstBaseParse * parse); static gboolean gst_replace_stop (GstBaseParse * parse); static gboolean gst_replace_set_sink_caps (GstBaseParse * parse, GstCaps * caps); static GstFlowReturn gst_replace_handle_frame (GstBaseParse * parse, GstBaseParseFrame * frame, gint * skipsize); static GstFlowReturn gst_replace_pre_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame); static gboolean gst_replace_convert (GstBaseParse * parse, GstFormat src_format, gint64 src_value, GstFormat dest_format, gint64 * dest_value); static gboolean gst_replace_sink_event (GstBaseParse * parse, GstEvent * event); static gboolean gst_replace_src_event (GstBaseParse * parse, GstEvent * event); static GstCaps *gst_replace_get_sink_caps (GstBaseParse * parse, GstCaps * filter); static GstFlowReturn gst_replace_detect (GstBaseParse * parse, GstBuffer * buffer); % declare-class GstBaseParseClass *base_parse_class = GST_BASE_PARSE_CLASS (klass); % set-methods base_parse_class->start = GST_DEBUG_FUNCPTR (gst_replace_start); base_parse_class->stop = GST_DEBUG_FUNCPTR (gst_replace_stop); base_parse_class->set_sink_caps = GST_DEBUG_FUNCPTR (gst_replace_set_sink_caps); base_parse_class->handle_frame = GST_DEBUG_FUNCPTR (gst_replace_handle_frame); base_parse_class->pre_push_frame = GST_DEBUG_FUNCPTR (gst_replace_pre_push_frame); base_parse_class->convert = GST_DEBUG_FUNCPTR (gst_replace_convert); base_parse_class->sink_event = GST_DEBUG_FUNCPTR (gst_replace_sink_event); base_parse_class->src_event = GST_DEBUG_FUNCPTR (gst_replace_src_event); base_parse_class->get_sink_caps = GST_DEBUG_FUNCPTR (gst_replace_get_sink_caps); base_parse_class->detect = GST_DEBUG_FUNCPTR (gst_replace_detect); % methods static gboolean gst_replace_start (GstBaseParse * parse) { GstReplace *replace = GST_REPLACE (parse); GST_DEBUG_OBJECT (replace, "start"); return TRUE; } static gboolean gst_replace_stop (GstBaseParse * parse) { GstReplace *replace = GST_REPLACE (parse); GST_DEBUG_OBJECT (replace, "stop"); return TRUE; } static gboolean gst_replace_set_sink_caps (GstBaseParse * parse, GstCaps * caps) { GstReplace *replace = GST_REPLACE (parse); GST_DEBUG_OBJECT (replace, "set_sink_caps"); return TRUE; } static GstFlowReturn gst_replace_handle_frame (GstBaseParse * parse, GstBaseParseFrame * frame, gint * skipsize) { GstReplace *replace = GST_REPLACE (parse); GST_DEBUG_OBJECT (replace, "handle_frame"); return GST_FLOW_OK; } static GstFlowReturn gst_replace_pre_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame) { GstReplace *replace = GST_REPLACE (parse); GST_DEBUG_OBJECT (replace, "pre_push_frame"); return GST_FLOW_OK; } static gboolean gst_replace_convert (GstBaseParse * parse, GstFormat src_format, gint64 src_value, GstFormat dest_format, gint64 * dest_value) { GstReplace *replace = GST_REPLACE (parse); GST_DEBUG_OBJECT (replace, "convert"); return TRUE; } static gboolean gst_replace_sink_event (GstBaseParse * parse, GstEvent * event) { GstReplace *replace = GST_REPLACE (parse); GST_DEBUG_OBJECT (replace, "sink_event"); return TRUE; } static gboolean gst_replace_src_event (GstBaseParse * parse, GstEvent * event) { GstReplace *replace = GST_REPLACE (parse); GST_DEBUG_OBJECT (replace, "src_event"); return TRUE; } static GstCaps * gst_replace_get_sink_caps (GstBaseParse * parse, GstCaps * filter) { GstReplace *replace = GST_REPLACE (parse); GST_DEBUG_OBJECT (replace, "get_sink_caps"); return NULL; } static GstFlowReturn gst_replace_detect (GstBaseParse * parse, GstBuffer * buffer) { GstReplace *replace = GST_REPLACE (parse); GST_DEBUG_OBJECT (replace, "detect"); return GST_FLOW_OK; } % end