gst_element_class_set_details_simple(element_class, "av video decoder", "Coder/Decoder/Video", "Video decoder wrapper for libavcodec", "Felipe Contreras"); template = gst_pad_template_new("src", GST_PAD_SRC, GST_PAD_ALWAYS, generate_src_template()); gst_element_class_add_pad_template(element_class, template); template = gst_pad_template_new("sink", GST_PAD_SINK, GST_PAD_ALWAYS, generate_sink_template()); gst_element_class_add_pad_template(element_class, template); } static void class_init(void *g_class, void *class_data) { GstElementClass *gstelement_class = g_class; parent_class = g_type_class_ref(GST_TYPE_ELEMENT); avcodec_register_all(); gstelement_class->change_state = change_state; }
{ GstElementDetails details; details.longname = "OpenMAX IL audiosink element"; details.klass = "Sink/Audio"; details.description = "Renders audio"; details.author = "Felipe Contreras"; gst_element_class_set_details (element_class, &details); } { GstPadTemplate *template; template = gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, generate_sink_template ()); gst_element_class_add_pad_template (element_class, template); } } static gboolean setcaps (GstBaseSink * gst_sink, GstCaps * caps) { GstOmxBaseSink *self; GOmxCore *gomx; self = GST_OMX_BASE_SINK (gst_sink); gomx = (GOmxCore *) self->gomx; GST_INFO_OBJECT (self, "setcaps (sink): %" GST_PTR_FORMAT, caps);