Example #1
0
	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);