| /* vim: set filetype=c: */ | |
| % ClassName | |
| GstElement | |
| % TYPE_CLASS_NAME | |
| GST_TYPE_ELEMENT | |
| % pads | |
| sinkpad srcpad | |
| % pkg-config | |
| gstreamer-1.0 | |
| % includes | |
| #include <gst/gst.h> | |
| % prototypes | |
| static GstPad *gst_replace_request_new_pad (GstElement * element, | |
| GstPadTemplate * templ, const gchar * name); | |
| static void gst_replace_release_pad (GstElement * element, GstPad * pad); | |
| static GstStateChangeReturn | |
| gst_replace_change_state (GstElement * element, GstStateChange transition); | |
| static GstClock *gst_replace_provide_clock (GstElement * element); | |
| static gboolean gst_replace_set_clock (GstElement * element, GstClock * clock); | |
| static GstIndex *gst_replace_get_index (GstElement * element); | |
| static void gst_replace_set_index (GstElement * element, GstIndex * index); | |
| static gboolean gst_replace_send_event (GstElement * element, GstEvent * event); | |
| static gboolean gst_replace_query (GstElement * element, GstQuery * query); | |
| % declare-class | |
| GstElementClass *element_class = GST_ELEMENT_CLASS (klass); | |
| % set-methods | |
| element_class->request_new_pad = GST_DEBUG_FUNCPTR (gst_replace_request_new_pad); | |
| element_class->release_pad = GST_DEBUG_FUNCPTR (gst_replace_release_pad); | |
| element_class->change_state = GST_DEBUG_FUNCPTR (gst_replace_change_state); | |
| element_class->provide_clock = GST_DEBUG_FUNCPTR (gst_replace_provide_clock); | |
| element_class->set_clock = GST_DEBUG_FUNCPTR (gst_replace_set_clock); | |
| element_class->get_index = GST_DEBUG_FUNCPTR (gst_replace_get_index); | |
| element_class->set_index = GST_DEBUG_FUNCPTR (gst_replace_set_index); | |
| element_class->send_event = GST_DEBUG_FUNCPTR (gst_replace_send_event); | |
| element_class->query = GST_DEBUG_FUNCPTR (gst_replace_query); | |
| % methods | |
| static GstPad * | |
| gst_replace_request_new_pad (GstElement * element, GstPadTemplate * templ, | |
| const gchar * name) | |
| { | |
| return NULL; | |
| } | |
| static void | |
| gst_replace_release_pad (GstElement * element, GstPad * pad) | |
| { | |
| } | |
| static GstStateChangeReturn | |
| gst_replace_change_state (GstElement * element, GstStateChange transition) | |
| { | |
| GstReplace *replace; | |
| GstStateChangeReturn ret; | |
| g_return_val_if_fail (GST_IS_REPLACE (element), GST_STATE_CHANGE_FAILURE); | |
| replace = GST_REPLACE (element); | |
| switch (transition) { | |
| case GST_STATE_CHANGE_NULL_TO_READY: | |
| break; | |
| case GST_STATE_CHANGE_READY_TO_PAUSED: | |
| break; | |
| case GST_STATE_CHANGE_PAUSED_TO_PLAYING: | |
| break; | |
| default: | |
| break; | |
| } | |
| ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); | |
| switch (transition) { | |
| case GST_STATE_CHANGE_PLAYING_TO_PAUSED: | |
| break; | |
| case GST_STATE_CHANGE_PAUSED_TO_READY: | |
| break; | |
| case GST_STATE_CHANGE_READY_TO_NULL: | |
| break; | |
| default: | |
| break; | |
| } | |
| return ret; | |
| } | |
| static GstClock * | |
| gst_replace_provide_clock (GstElement * element) | |
| { | |
| return NULL; | |
| } | |
| static gboolean | |
| gst_replace_set_clock (GstElement * element, GstClock * clock) | |
| { | |
| return GST_ELEMENT_CLASS (parent_class)->set_clock (element, clock); | |
| } | |
| static GstIndex * | |
| gst_replace_get_index (GstElement * element) | |
| { | |
| return NULL; | |
| } | |
| static void | |
| gst_replace_set_index (GstElement * element, GstIndex * index) | |
| { | |
| } | |
| static gboolean | |
| gst_replace_send_event (GstElement * element, GstEvent * event) | |
| { | |
| return TRUE; | |
| } | |
| static gboolean | |
| gst_replace_query (GstElement * element, GstQuery * query) | |
| { | |
| GstReplace *replace = GST_REPLACE (element); | |
| gboolean ret; | |
| GST_DEBUG_OBJECT (replace, "query"); | |
| switch (GST_QUERY_TYPE (query)) { | |
| default: | |
| ret = GST_ELEMENT_CLASS (parent_class)->query (element, query); | |
| break; | |
| } | |
| return ret; | |
| } | |
| % end |