| Value | Meaning |
|---|---|
| UNDEFINED0 | undefined merge mode |
| REPLACE_ALL1 | replace all tags (clear list and append) |
| REPLACE2 | replace tags |
| APPEND3 | append tags |
| PREPEND4 | prepend tags |
| KEEP5 | keep existing tags |
| KEEP_ALL6 | keep all existing tags |
| COUNT7 | the number of merge modes |
Page generated by adrdox
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_tag_setter_merge_tags() / gst_tag_setter_add_tags() or a %GST_EVENT_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 | ø | ø |