[][src]Enum gstreamer::CapsIntersectMode

#[non_exhaustive]pub enum CapsIntersectMode {
    ZigZag,
    First,
    // some variants omitted
}

Modes of caps intersection

CapsIntersectMode::ZigZag tries to preserve overall order of both caps by iterating on the caps' structures as the following matrix shows:

         caps1
      +-------------
      | 1  2  4  7
caps2 | 3  5  8 10
      | 6  9 11 12

Used when there is no explicit precedence of one caps over the other. e.g. tee's sink pad getcaps function, it will probe its src pad peers' for their caps and intersect them with this mode.

CapsIntersectMode::First is useful when an element wants to preserve another element's caps priority order when intersecting with its own caps. Example: If caps1 is [A, B, C] and caps2 is [E, B, D, A], the result would be [A, B], maintaining the first caps priority on the intersection.

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.
ZigZag

Zig-zags over both caps.

First

Keeps the first caps order.

Trait Implementations

impl Clone for CapsIntersectMode[src]

impl Copy for CapsIntersectMode[src]

impl Debug for CapsIntersectMode[src]

impl Eq for CapsIntersectMode[src]

impl<'a> FromValue<'a> for CapsIntersectMode[src]

impl<'a> FromValueOptional<'a> for CapsIntersectMode[src]

impl Hash for CapsIntersectMode[src]

impl Ord for CapsIntersectMode[src]

impl PartialEq<CapsIntersectMode> for CapsIntersectMode[src]

impl PartialOrd<CapsIntersectMode> for CapsIntersectMode[src]

impl SetValue for CapsIntersectMode[src]

impl StaticType for CapsIntersectMode[src]

impl StructuralEq for CapsIntersectMode[src]

impl StructuralPartialEq for CapsIntersectMode[src]

Auto Trait Implementations

impl RefUnwindSafe for CapsIntersectMode

impl Send for CapsIntersectMode

impl Sync for CapsIntersectMode

impl Unpin for CapsIntersectMode

impl UnwindSafe for CapsIntersectMode

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToSendValue for T where
    T: ToValue + SetValue + Send + ?Sized
[src]

impl<T> ToValue for T where
    T: SetValue + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.