GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-apetag"));
- G_DEFINE_TYPE (GstApev2Mux, gst_apev2_mux, GST_TYPE_TAG_LIB_MUX);
+ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
+ GST_PAD_SINK,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS ("ANY"));
+
-GST_BOILERPLATE (GstApev2Mux, gst_apev2_mux, GstTagMux,
- GST_TYPE_TAG_MUX);
++G_DEFINE_TYPE (GstApev2Mux, gst_apev2_mux, GST_TYPE_TAG_MUX);
- static GstBuffer *gst_apev2_mux_render_tag (GstTagLibMux * mux,
- GstTagList * taglist);
+ static GstBuffer *gst_apev2_mux_render_tag (GstTagMux * mux,
+ const GstTagList * taglist);
+ static GstBuffer *gst_apev2_mux_render_end_tag (GstTagMux * mux,
+ const GstTagList * taglist);
static void
-gst_apev2_mux_base_init (gpointer g_class)
+gst_apev2_mux_class_init (GstApev2MuxClass * klass)
{
- GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
+ GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+
- GST_TAG_LIB_MUX_CLASS (klass)->render_tag =
++ GST_TAG_MUX_CLASS (klass)->render_start_tag =
+ GST_DEBUG_FUNCPTR (gst_apev2_mux_render_tag);
++ GST_TAG_MUX_CLASS (klass)->render_end_tag =
++ GST_DEBUG_FUNCPTR (gst_apev2_mux_render_end_tag);
- gst_element_class_add_static_pad_template (element_class, &sink_template);
- gst_element_class_add_static_pad_template (element_class, &src_template);
+ gst_element_class_add_pad_template (element_class,
++ gst_static_pad_template_get (&sink_template));
++ gst_element_class_add_pad_template (element_class,
+ gst_static_pad_template_get (&src_template));
gst_element_class_set_details_simple (element_class,
"TagLib-based APEv2 Muxer", "Formatter/Metadata",
GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-id3"));
+ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
+ GST_PAD_SINK,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS ("ANY"));
- G_DEFINE_TYPE (GstId3v2Mux, gst_id3v2_mux, GST_TYPE_TAG_LIB_MUX);
-GST_BOILERPLATE (GstId3v2Mux, gst_id3v2_mux, GstTagMux, GST_TYPE_TAG_MUX);
++G_DEFINE_TYPE (GstId3v2Mux, gst_id3v2_mux, GST_TYPE_TAG_MUX);
- static GstBuffer *gst_id3v2_mux_render_tag (GstTagLibMux * mux,
- GstTagList * taglist);
+ static GstBuffer *gst_id3v2_mux_render_tag (GstTagMux * mux,
+ const GstTagList * taglist);
+ static GstBuffer *gst_id3v2_mux_render_end_tag (GstTagMux * mux,
+ const GstTagList * taglist);
static void
-gst_id3v2_mux_base_init (gpointer g_class)
+gst_id3v2_mux_class_init (GstId3v2MuxClass * klass)
{
- GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
+ GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+
- GST_TAG_LIB_MUX_CLASS (klass)->render_tag =
++ GST_TAG_MUX_CLASS (klass)->render_start_tag =
+ GST_DEBUG_FUNCPTR (gst_id3v2_mux_render_tag);
++ GST_TAG_MUX_CLASS (klass)->render_end_tag =
++ GST_DEBUG_FUNCPTR (gst_id3v2_mux_render_end_tag);
- gst_element_class_add_static_pad_template (element_class, &sink_template);
- gst_element_class_add_static_pad_template (element_class, &src_template);
+ gst_element_class_add_pad_template (element_class,
++ gst_static_pad_template_get (&sink_template));
++ gst_element_class_add_pad_template (element_class,
+ gst_static_pad_template_get (&src_template));
gst_element_class_set_details_simple (element_class,
"TagLib-based ID3v2 Muxer", "Formatter/Metadata",