Enum gstreamer::TagMergeMode
source · #[non_exhaustive]pub enum TagMergeMode {
Undefined,
ReplaceAll,
Replace,
Append,
Prepend,
Keep,
KeepAll,
}
Expand description
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 TagSetterExt::merge_tags()
/ gst_tag_setter_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)§
This enum is marked as 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
undefined merge mode
ReplaceAll
replace all tags (clear list and append)
Replace
replace tags
Append
append tags
Prepend
prepend tags
Keep
keep existing tags
KeepAll
keep all existing tags
Trait Implementations§
source§impl Clone for TagMergeMode
impl Clone for TagMergeMode
source§fn clone(&self) -> TagMergeMode
fn clone(&self) -> TagMergeMode
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for TagMergeMode
impl Debug for TagMergeMode
source§impl From<TagMergeMode> for Value
impl From<TagMergeMode> for Value
source§fn from(v: TagMergeMode) -> Self
fn from(v: TagMergeMode) -> Self
Converts to this type from the input type.
source§impl<'a> FromValue<'a> for TagMergeMode
impl<'a> FromValue<'a> for TagMergeMode
§type Checker = GenericValueTypeChecker<TagMergeMode>
type Checker = GenericValueTypeChecker<TagMergeMode>
Value type checker.
source§unsafe fn from_value(value: &'a Value) -> Self
unsafe fn from_value(value: &'a Value) -> Self
Get the contained value from a
Value
. Read moresource§impl HasParamSpec for TagMergeMode
impl HasParamSpec for TagMergeMode
type ParamSpec = ParamSpecEnum
§type SetValue = TagMergeMode
type SetValue = TagMergeMode
Preferred value to be used as setter for the associated ParamSpec.
type BuilderFn = fn(_: &str, _: TagMergeMode) -> ParamSpecEnumBuilder<'_, TagMergeMode>
fn param_spec_builder() -> Self::BuilderFn
source§impl Hash for TagMergeMode
impl Hash for TagMergeMode
source§impl Ord for TagMergeMode
impl Ord for TagMergeMode
source§fn cmp(&self, other: &TagMergeMode) -> Ordering
fn cmp(&self, other: &TagMergeMode) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq for TagMergeMode
impl PartialEq for TagMergeMode
source§impl PartialOrd for TagMergeMode
impl PartialOrd for TagMergeMode
source§impl StaticType for TagMergeMode
impl StaticType for TagMergeMode
source§fn static_type() -> Type
fn static_type() -> Type
Returns the type identifier of
Self
.source§impl ToValue for TagMergeMode
impl ToValue for TagMergeMode
source§impl ValueType for TagMergeMode
impl ValueType for TagMergeMode
§type Type = TagMergeMode
type Type = TagMergeMode
Type to get the
Type
from. Read moreimpl Copy for TagMergeMode
impl Eq for TagMergeMode
impl StructuralPartialEq for TagMergeMode
Auto Trait Implementations§
impl Freeze for TagMergeMode
impl RefUnwindSafe for TagMergeMode
impl Send for TagMergeMode
impl Sync for TagMergeMode
impl Unpin for TagMergeMode
impl UnwindSafe for TagMergeMode
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> IntoClosureReturnValue for T
impl<T> IntoClosureReturnValue for T
fn into_closure_return_value(self) -> Option<Value>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> PropertyGet for Twhere
T: HasParamSpec,
impl<T> PropertyGet for Twhere
T: HasParamSpec,
source§impl<T> StaticTypeExt for Twhere
T: StaticType,
impl<T> StaticTypeExt for Twhere
T: StaticType,
source§fn ensure_type()
fn ensure_type()
Ensures that the type has been registered with the type system.
source§impl<T> ToSendValue for T
impl<T> ToSendValue for T
source§fn to_send_value(&self) -> SendValue
fn to_send_value(&self) -> SendValue
Returns a
SendValue
clone of self
.