* @short_description: Element interface that allows setting and retrieval
* of media metadata
*
- * Element interface that allows setting and retrieval of media metadata.
- *
- * Last reviewed on 2005-11-23 (0.9.5)
+ * <refsect2>
+ * <para>
+ * Element interface that allows setting of media metadata.
+ * </para>
+ * <para>
+ * Elements that support changing a stream's metadata will implement this
+ * interface. Examples of such elements are 'vorbisenc', 'theoraenc' and
+ * 'id3v2mux'.
+ * </para>
+ * <para>
+ * If you just want to retrieve metadata in your application then all you
+ * need to do is watch for tag messages on your pipeline's bus. This
+ * interface is only for setting metadata, not for extracting it.
+ * </para>
+ * <para>
+ * Elements implementing the #GstTagSetter interface often have to merge
+ * any tags received from upstream and the tags set by the application via
+ * the interface. This can be done like this:
+ * </para>
+ * <para>
+ * <programlisting>
+ * GstTagMergeMode merge_mode;
+ * const GstTagList *application_tags;
+ * const GstTagList *event_tags;
+ * GstTagSetter *tagsetter;
+ * GstTagList *result;
+ *
+ * tagsetter = GST_TAG_SETTER (element);
+ *
+ * merge_mode = gst_tag_setter_get_tag_merge_mode (tagsetter);
+ * tagsetter_tags = gst_tag_setter_get_tag_list (tagsetter);
+ * event_tags = (const GstTagList *) element->event_tags;
+ *
+ * GST_LOG_OBJECT (tagsetter, "merging tags, merge mode = %d", merge_mode);
+ * GST_LOG_OBJECT (tagsetter, "event tags: %" GST_PTR_FORMAT, event_tags);
+ * GST_LOG_OBJECT (tagsetter, "set tags: %" GST_PTR_FORMAT, application_tags);
+ *
+ * result = gst_tag_list_merge (application_tags, event_tags, merge_mode);
+ *
+ * GST_LOG_OBJECT (tagsetter, "final tags: %" GST_PTR_FORMAT, result);
+ * </programlisting>
+ * </para>
+ * <para>
+ * Last reviewed on 2006-05-18 (0.10.6)
+ * </para>
+ * </refsect2>
*/
#ifdef HAVE_CONFIG_H
*
* Sets the given merge mode that is used for adding tags from events to tags
* specified by this interface. The default is #GST_TAG_MERGE_KEEP, which keeps
- * the tags by this interface and discards tags from events.
+ * the tags set with this interface and discards tags from events.
*/
void
gst_tag_setter_set_tag_merge_mode (GstTagSetter * setter, GstTagMergeMode mode)