Gst.TagMergeMode
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 Gst.merge_tags / Gst.add_tags or a 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.
<table frame="all" colsep="1" rowsep="1"> <title>merge mode</title> <tgroup cols='5' align='left'> <thead> <row> <entry>merge mode</entry> <entry>A + B</entry> <entry>A + !B</entry> <entry>!A + B</entry> <entry>!A + !B</entry> </row> </thead> <tbody> <row> <entry>REPLACE_ALL</entry> <entry>B</entry> <entry>-</entry> <entry>B</entry> <entry>-</entry> </row> <row> <entry>REPLACE</entry> <entry>B</entry> <entry>A</entry> <entry>B</entry> <entry>-</entry> </row> <row> <entry>APPEND</entry> <entry>A, B</entry> <entry>A</entry> <entry>B</entry> <entry>-</entry> </row> <row> <entry>PREPEND</entry> <entry>B, A</entry> <entry>A</entry> <entry>B</entry> <entry>-</entry> </row> <row> <entry>KEEP</entry> <entry>A</entry> <entry>A</entry> <entry>B</entry> <entry>-</entry> </row> <row> <entry>KEEP_ALL</entry> <entry>A</entry> <entry>A</entry> <entry>-</entry> <entry>-</entry> </row> </tbody> </tgroup> </table>
- TagMergeMode.UNDEFINED
undefined merge mode
- TagMergeMode.REPLACE_ALL
replace all tags (clear list and append)
- TagMergeMode.REPLACE
replace tags
- TagMergeMode.APPEND
append tags
- TagMergeMode.PREPEND
prepend tags
- TagMergeMode.KEEP
keep existing tags
- TagMergeMode.KEEP_ALL
keep all existing tags
- TagMergeMode.COUNT
the number of merge modes