/*
* Copyright (C) 2007 Wayne Meissner
* Copyright (C) 2003 Benjamin Otte
*
* This file is part of gstreamer-java.
*
* This code is free software: you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License version 3 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* version 3 for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with this work. If not, see <http://www.gnu.org/licenses/>.
*/
package org.freedesktop.gstreamer;
/**
* The different tag merging modes are basically replace, overwrite and append,
* but they can be seen from two directions.
* <p>
* Given two taglists: A - the one that are supplied to
* gst_tag_setter_merge_tags() or gst_tag_setter_add_tags() and B - the tags
* already in the element, how are the 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 combination thereof.
*/
public enum TagMergeMode {
/** Undefined merge mode. */
UNDEFINED,
/** Replace all tags (clear list and append). */
REPLACE_ALL,
/** Replace tags */
REPLACE,
/** Append tags */
APPEND,
/** Prepend tags */
PREPEND,
/** Keep existing tags */
KEEP,
/** Keep all existing tags */
KEEP_ALL;
}