# GstTagMux

Provides a base class for adding tags at the beginning or end of a stream.

## Deriving from GstTagMux

Subclasses have to do the following things:

- In their base init function, they must add pad templates for the sink pad and the source pad to the element class, describing the media type they accept and output in the caps of the pad template.
- In their class init function, they must override the GST_TAG_MUX_CLASS(mux_klass)->render_start_tag and/or GST_TAG_MUX_CLASS(mux_klass)->render_end_tag vfuncs and set up a render function.

## GstTagMux

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstTagMux

Opaque GstTagMux structure.

### Members

`element` (GstElement) –

parent element

### Class structure

#### GstTagMuxClass

The GstTagMuxClass structure. Subclasses need to override at least one of the two render vfuncs.

##### Fields

`parent_class` (GstElementClass) –

the parent class.

### GstTag.TagMuxClass

The GstTag.TagMuxClass structure. Subclasses need to override at least one of the two render vfuncs.

##### Attributes

`parent_class` (Gst.ElementClass) –

the parent class.

### GstTag.TagMuxClass

The GstTag.TagMuxClass structure. Subclasses need to override at least one of the two render vfuncs.

##### Attributes

`parent_class` (Gst.ElementClass) –

the parent class.

## GstTag.TagMux

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Element
                    ╰──GstTag.TagMux

Opaque GstTag.TagMux structure.

### Members

`element` (Gst.Element) –

parent element

## GstTag.TagMux

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Element
                    ╰──GstTag.TagMux

Opaque GstTag.TagMux structure.

### Members

`element` (Gst.Element) –

parent element

### Virtual Methods

#### render_end_tag

    GstBuffer *
    render_end_tag (GstTagMux * mux,
                    const GstTagList * tag_list)

create a tag buffer to add to the end of the input stream given a tag list, or NULL

Parameters:

`mux` –
No description available
`tag_list` –
No description available
Returns –
No description available

#### vfunc_render_end_tag

    function vfunc_render_end_tag(mux: GstTag.TagMux, tag_list: Gst.TagList): {
        // javascript implementation of the 'render_end_tag' virtual method
    }

create a tag buffer to add to the end of the input stream given a tag list, or NULL

Parameters:

`mux` (GstTag.TagMux) –
No description available
`tag_list` (Gst.TagList) –
No description available
Returns (Gst.Buffer) –
No description available

#### do_render_end_tag

    def do_render_end_tag (mux, tag_list):
        #python implementation of the 'render_end_tag' virtual method

create a tag buffer to add to the end of the input stream given a tag list, or NULL

Parameters:

`mux` (GstTag.TagMux) –
No description available
`tag_list` (Gst.TagList) –
No description available
Returns (Gst.Buffer) –
No description available

#### render_start_tag

    GstBuffer *
    render_start_tag (GstTagMux * mux,
                      const GstTagList * tag_list)

create a tag buffer to add to the beginning of the input stream given a tag list, or NULL

Parameters:

`mux` –
No description available
`tag_list` –
No description available
Returns –
No description available

#### vfunc_render_start_tag

    function vfunc_render_start_tag(mux: GstTag.TagMux, tag_list: Gst.TagList): {
        // javascript implementation of the 'render_start_tag' virtual method
    }

create a tag buffer to add to the beginning of the input stream given a tag list, or NULL

Parameters:

`mux` (GstTag.TagMux) –
No description available
`tag_list` (Gst.TagList) –
No description available
Returns (Gst.Buffer) –
No description available

#### do_render_start_tag

    def do_render_start_tag (mux, tag_list):
        #python implementation of the 'render_start_tag' virtual method

create a tag buffer to add to the beginning of the input stream given a tag list, or NULL

Parameters:

`mux` (GstTag.TagMux) –
No description available
`tag_list` (Gst.TagList) –
No description available
Returns (Gst.Buffer) –
No description available

## Constants

### GST_TYPE_TAG_MUX

    #define GST_TYPE_TAG_MUX \
      (gst_tag_mux_get_type())

The results of the search are