:right-sidebar: True TagMergeMode =================================================================== .. currentmodule:: gi.repository.Gst .. class:: TagMergeMode :no-contents-entry: The different tag merging modes are basically replace, overwrite and append, but they can be seen from two directions. Given two taglists: (A) the tags already in the element and (B) the ones that are supplied to the element ( e.g. via :func:`~gi.repository.Gst.TagSetter.merge_tags` / :func:`~gi.repository.Gst.TagSetter.add_tags` or a :const:`~gi.repository.Gst.EventType.TAG`), how are these tags merged? In the table below this is shown for the cases that a tag exists in the list (A) or does not exists (!A) and combinations thereof. +-------------+-------+--------+--------+---------+ | merge mode | A + B | A + !B | !A + B | !A + !B | +-------------+-------+--------+--------+---------+ | ----------- | ----- | ------ | ------ | ------- | +-------------+-------+--------+--------+---------+ | REPLACE_ALL | B | ø | B | ø | +-------------+-------+--------+--------+---------+ | REPLACE | B | A | B | ø | +-------------+-------+--------+--------+---------+ | APPEND | A, B | A | B | ø | +-------------+-------+--------+--------+---------+ | PREPEND | B, A | A | B | ø | +-------------+-------+--------+--------+---------+ | KEEP | A | A | B | ø | +-------------+-------+--------+--------+---------+ | KEEP_ALL | A | A | ø | ø | +-------------+-------+--------+--------+---------+ Fields ------ .. rst-class:: interim-class .. class:: TagMergeMode :no-index: .. attribute:: APPEND Append tags .. attribute:: COUNT The number of merge modes .. attribute:: KEEP Keep existing tags .. attribute:: KEEP_ALL Keep all existing tags .. attribute:: PREPEND Prepend tags .. attribute:: REPLACE Replace tags .. attribute:: REPLACE_ALL Replace all tags (clear list and append) .. attribute:: UNDEFINED Undefined merge mode