#[non_exhaustive]pub enum VideoEncoderBackend {
Auto,
Software,
Hardware,
Nvenc,
Vaapi,
VideoToolbox,
PreEncoded,
}Expand description
Preferred backend for video encoding on an RtpSender.
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.
Auto
Use the SDK’s default encoder selection.
Software
Prefer a software encoder.
Hardware
Prefer any available hardware encoder.
Nvenc
Prefer NVIDIA NVENC when available.
Vaapi
Prefer VAAPI when available.
VideoToolbox
Prefer VideoToolbox on Apple platforms when available.
PreEncoded
Pass pre-encoded frames through without encoding raw video frames.
Implementations§
Source§impl VideoEncoderBackend
impl VideoEncoderBackend
Sourcepub fn list_available() -> impl IntoIterator<Item = VideoEncoderBackend>
pub fn list_available() -> impl IntoIterator<Item = VideoEncoderBackend>
Returns the video encoder backends available in this process.
The result reflects the current platform, build flags, and runtime hardware capability checks.
use libwebrtc::rtp_sender::VideoEncoderBackend;
let backends: Vec<_> = VideoEncoderBackend::list_available().into_iter().collect();
assert!(backends.contains(&VideoEncoderBackend::Auto));
assert!(backends.contains(&VideoEncoderBackend::Software));Trait Implementations§
Source§impl Clone for VideoEncoderBackend
impl Clone for VideoEncoderBackend
Source§fn clone(&self) -> VideoEncoderBackend
fn clone(&self) -> VideoEncoderBackend
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for VideoEncoderBackend
Source§impl Debug for VideoEncoderBackend
impl Debug for VideoEncoderBackend
Source§impl Default for VideoEncoderBackend
impl Default for VideoEncoderBackend
Source§fn default() -> VideoEncoderBackend
fn default() -> VideoEncoderBackend
Returns the “default value” for a type. Read more
impl Eq for VideoEncoderBackend
Source§impl From<VideoEncoderBackend> for VideoEncoderBackend
impl From<VideoEncoderBackend> for VideoEncoderBackend
Source§fn from(value: VideoEncoderBackend) -> VideoEncoderBackend
fn from(value: VideoEncoderBackend) -> VideoEncoderBackend
Converts to this type from the input type.
Source§impl PartialEq for VideoEncoderBackend
impl PartialEq for VideoEncoderBackend
impl StructuralPartialEq for VideoEncoderBackend
Auto Trait Implementations§
impl Freeze for VideoEncoderBackend
impl RefUnwindSafe for VideoEncoderBackend
impl Send for VideoEncoderBackend
impl Sync for VideoEncoderBackend
impl Unpin for VideoEncoderBackend
impl UnsafeUnpin for VideoEncoderBackend
impl UnwindSafe for VideoEncoderBackend
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§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.