Gjsify LogoGjsify Logo

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 ø ø

Index

Enumeration Members

APPEND: number

append tags

COUNT: number

the number of merge modes

KEEP: number

keep existing tags

KEEP_ALL: number

keep all existing tags

PREPEND: number

prepend tags

REPLACE: number

replace tags

REPLACE_ALL: number

replace all tags (clear list and append)

UNDEFINED: number

undefined merge mode

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Type alias with type parameter
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method