docs: add documentation for GstTagMux

This commit is contained in:
Tim-Philipp Müller 2011-07-29 10:22:26 +01:00
parent 2633692072
commit b83c7e0a0e
4 changed files with 67 additions and 4 deletions

View file

@ -191,6 +191,7 @@
<xi:include href="xml/gsttagxmp.xml" />
<xi:include href="xml/gsttagxmpwriter.xml" />
<xi:include href="xml/gsttagdemux.xml" />
<xi:include href="xml/gsttagmux.xml" />
<xi:include href="xml/gsttaglanguagecodes.xml" />
</chapter>

View file

@ -1821,6 +1821,21 @@ gst_tag_demux_get_type
gst_tag_demux_result_get_type
</SECTION>
<SECTION>
<FILE>gsttagmux</FILE>
<INCLUDE>gst/tag/gsttagmux.h</INCLUDE>
GstTagMux
GstTagMuxClass
<SUBSECTION Standard>
GstTagMuxPrivate
GST_IS_TAG_MUX
GST_IS_TAG_MUX_CLASS
GST_TAG_MUX
GST_TAG_MUX_CLASS
GST_TYPE_TAG_MUX
gst_tag_demux_get_type
</SECTION>
<SECTION>
<FILE>gsttaglanguagecodes</FILE>
<INCLUDE>gst/tag/tag.h</INCLUDE>

View file

@ -21,9 +21,36 @@
*/
/**
* FIXME: documentation
* SECTION:gsttagmux
* @see_also: GstApeMux, GstId3Mux
* @short_description: Base class for adding tags that are in one single chunk
* directly at the beginning or at the end of a file
*
* Since: 0.10.36
* <refsect2>
* <para>
* Provides a base class for adding tags at the beginning or end of a
* stream.
* </para>
* <title>Deriving from GstTagMux</title>
* <para>
* Subclasses have to do the following things:
* <itemizedlist>
* <listitem><para>
* 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.
* </para></listitem>
* <listitem><para>
* 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.
* </para></listitem>
* </itemizedlist>
* </para>
* </refsect2>
*
* Since 0.10.36
*/
#ifdef HAVE_CONFIG_H
#include <config.h>

View file

@ -1,7 +1,6 @@
/* GStreamer tag muxer base class
*
* Copyright (C) 2006 Christophe Fergeau <teuf@gnome.org>
* Copyright (C) 2006 Tim-Philipp Müller <tim centricular net>
* Copyright (C) 2006,2011 Tim-Philipp Müller <tim centricular net>
* Copyright (C) 2009 Pioneers of the Inevitable <songbird@songbirdnest.com>
*
* This library is free software; you can redistribute it and/or
@ -42,6 +41,14 @@ typedef struct _GstTagMux GstTagMux;
typedef struct _GstTagMuxClass GstTagMuxClass;
typedef struct _GstTagMuxPrivate GstTagMuxPrivate;
/**
* GstTagMux:
* @element: parent element
*
* Opaque #GstTagMux structure.
*
* Since: 0.10.36
*/
struct _GstTagMux {
GstElement element;
@ -51,6 +58,19 @@ struct _GstTagMux {
gpointer _gst_reserved[GST_PADDING];
};
/**
* GstTagMuxClass:
* @parent_class: the parent class.
* @render_start_tag: create a tag buffer to add to the beginning of the
* input stream given a tag list, or NULL
* @render_end_tag: create a tag buffer to add to the end of the
* input stream given a tag list, or NULL
*
* The #GstTagMuxClass structure. Subclasses need to override at least one
* of the two render vfuncs.
*
* Since: 0.10.36
*/
struct _GstTagMuxClass {
GstElementClass parent_class;