Skip to main content

ElementType

Enum ElementType 

Source
pub enum ElementType {
Show 63 variants FileDemuxer, AppSource, RtspSource, TestVideoSource, TestAudioSource, DxgiCaptureSource, WgcCaptureSource, PipeWireAudioCaptureSource, PipeWireScreenCaptureSource, WasapiCaptureSource, MfCaptureSource, V4l2CaptureSource, AudioMixer, AudioMixerInput, SwVideoCompositor, CudaVideoCompositor, D3d11VideoCompositor, WebRtcPeer, FrameRateLimiter, PauseGate, TimestampOrigin, ChangeGate, SwDecoder, CudaDecoder, CudaUpload, CudaDownload, CudaConverter, D3d12Decoder, D3d12Upload, D3d12Download, D3d12Scaler, D3d11Decoder, D3d11Upload, D3d11Download, SwEncoder, CudaEncoder, D3d11VideoEncoder, SwAudioEncoder, AudioResampler, AudioVolume, Pacer, VideoSynchronizer, SwScaler, SwChromaKey, CudaScaler, D3d11Scaler, D3d11ChromaKey, Tee, Queue, FrameCounter, PacketCounter, CudaRenderer, D3d12Renderer, D3d11Renderer, PipeWireAudioRenderer, WasapiRenderer, RtspSink, AppSink, OrtDetector, HlsMuxer, FileMuxer, SegmentedFileMuxer, Other,
}
Expand description

Which kind of element posted a crate::bus::BusEvent — cheap to compare/match, unlike the accompanying name: Arc<str> (an instance-level identifier chosen by whoever constructed it, needed alongside this to tell apart e.g. two Queues in the same pipeline; see Element::element_type).

Variants§

§

FileDemuxer

File or container demultiplexer source.

§

AppSource

Application-fed buffer source.

§

RtspSource

RTSP network stream source.

§

TestVideoSource

Synthetic video source.

§

TestAudioSource

Synthetic audio source.

§

DxgiCaptureSource

Windows desktop-duplication capture source.

§

WgcCaptureSource

Windows Graphics Capture window source.

§

PipeWireAudioCaptureSource

PipeWire audio capture source.

§

PipeWireScreenCaptureSource

PipeWire screen capture source.

§

WasapiCaptureSource

Windows WASAPI audio capture source.

§

MfCaptureSource

Windows Media Foundation camera capture source.

§

V4l2CaptureSource

Linux V4L2 camera capture source.

§

AudioMixer

Multi-input audio mixer source.

§

AudioMixerInput

One input registered with an ElementType::AudioMixer, which is a Sink in whichever pipeline feeds it rather than part of the mixer’s own.

Its own variant because it reads as one: an input that called itself AudioMixer put a mixer at the end of every branch feeding one, and a topology diagram with four of them in it is a diagram nobody can count the mixers from.

§

SwVideoCompositor

CPU video compositor source.

§

CudaVideoCompositor

CUDA video compositor source.

§

D3d11VideoCompositor

D3D11 video compositor source.

§

WebRtcPeer

WebRTC connection driver.

§

FrameRateLimiter

Packet timestamp rebase filter.

§

PauseGate

§

TimestampOrigin

§

ChangeGate

Video change/rate gate filter.

§

SwDecoder

FFmpeg software decoder filter.

§

CudaDecoder

CUDA hardware decoder filter.

§

CudaUpload

System-memory to CUDA upload filter.

§

CudaDownload

CUDA to system-memory download filter.

§

CudaConverter

CUDA pixel-format converter filter.

§

D3d12Decoder

D3D12 hardware decoder filter.

§

D3d12Upload

System-memory to D3D12 upload filter.

§

D3d12Download

D3D12 to system-memory download filter.

§

D3d12Scaler

D3D12 video scaler filter.

§

D3d11Decoder

D3D11 hardware decoder filter.

§

D3d11Upload

System-memory to D3D11 upload filter.

§

D3d11Download

D3D11 to system-memory download filter.

§

SwEncoder

Software video encoder filter.

§

CudaEncoder

CUDA video encoder filter.

§

D3d11VideoEncoder

D3D11-backed NVENC filter.

§

SwAudioEncoder

Software audio encoder filter.

§

AudioResampler

Audio format and rate converter filter.

§

AudioVolume

Runtime-adjustable audio gain filter.

§

Pacer

Timestamp-to-wall-clock pacing filter.

§

VideoSynchronizer

Playback-master-aware video scheduling filter.

§

SwScaler

CPU video scaler filter.

§

SwChromaKey

CPU chroma-key filter.

§

CudaScaler

CUDA video scaler filter.

§

D3d11Scaler

D3D11 video scaler filter.

§

D3d11ChromaKey

D3D11 chroma-key filter.

§

Tee

Dynamic one-to-many branch filter.

§

Queue

Bounded asynchronous queue filter.

§

FrameCounter

Diagnostic decoded-frame counter sink.

§

PacketCounter

Diagnostic compressed-packet counter sink.

§

CudaRenderer

CUDA video renderer sink.

§

D3d12Renderer

D3D12 video renderer sink.

§

D3d11Renderer

D3D11 video renderer sink.

§

PipeWireAudioRenderer

PipeWire audio renderer sink.

§

WasapiRenderer

Windows WASAPI audio renderer sink.

§

RtspSink

RTSP publishing sink.

§

AppSink

Application callback or channel sink.

§

OrtDetector

ONNX Runtime object-detection sink.

§

HlsMuxer

HTTP Live Streaming muxer sink.

§

FileMuxer

Container file muxer sink — the container is whichever one FFmpeg infers from the output path.

§

SegmentedFileMuxer

Rotating segmented container file muxer sink.

§

Other

Anything outside this crate’s own elements — a test double, or a custom Sink/SourceElement implemented downstream of this crate. Keeps this enum from needing to grow every time someone adds their own element.

Trait Implementations§

Source§

impl Clone for ElementType

Source§

fn clone(&self) -> ElementType

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for ElementType

Source§

impl Debug for ElementType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for ElementType

Source§

impl PartialEq for ElementType

Source§

fn eq(&self, other: &ElementType) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ElementType

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> CryptoSafe for T
where T: Send + Sync + Debug,

Source§

impl<T> CryptoSafe for T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more