[−][src]Enum gstreamer::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 TagSetter::merge_tags
/ TagSetter::add_tags
or a
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 | ø | ø |
Variants (Non-exhaustive)
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
undefined merge mode
replace all tags (clear list and append)
replace tags
append tags
prepend tags
keep existing tags
keep all existing tags
the number of merge modes
Trait Implementations
impl Clone for TagMergeMode
[src]
fn clone(&self) -> TagMergeMode
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for TagMergeMode
[src]
impl Debug for TagMergeMode
[src]
impl Eq for TagMergeMode
[src]
impl<'a> FromValue<'a> for TagMergeMode
[src]
unsafe fn from_value(value: &Value) -> Self
[src]
impl<'a> FromValueOptional<'a> for TagMergeMode
[src]
unsafe fn from_value_optional(value: &Value) -> Option<Self>
[src]
impl Hash for TagMergeMode
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for TagMergeMode
[src]
fn cmp(&self, other: &TagMergeMode) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<TagMergeMode> for TagMergeMode
[src]
fn eq(&self, other: &TagMergeMode) -> bool
[src]
fn ne(&self, other: &TagMergeMode) -> bool
[src]
impl PartialOrd<TagMergeMode> for TagMergeMode
[src]
fn partial_cmp(&self, other: &TagMergeMode) -> Option<Ordering>
[src]
fn lt(&self, other: &TagMergeMode) -> bool
[src]
fn le(&self, other: &TagMergeMode) -> bool
[src]
fn gt(&self, other: &TagMergeMode) -> bool
[src]
fn ge(&self, other: &TagMergeMode) -> bool
[src]
impl SetValue for TagMergeMode
[src]
impl StaticType for TagMergeMode
[src]
fn static_type() -> Type
[src]
impl StructuralEq for TagMergeMode
[src]
impl StructuralPartialEq for TagMergeMode
[src]
Auto Trait Implementations
impl RefUnwindSafe for TagMergeMode
impl Send for TagMergeMode
impl Sync for TagMergeMode
impl Unpin for TagMergeMode
impl UnwindSafe for TagMergeMode
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToSendValue for T where
T: ToValue + SetValue + Send + ?Sized,
[src]
T: ToValue + SetValue + Send + ?Sized,
fn to_send_value(&self) -> SendValue
[src]
impl<T> ToValue for T where
T: SetValue + ?Sized,
[src]
T: SetValue + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,