pub struct CameraAvStreamConfig<'a> {
pub max_concurrent_encoders: u8,
pub max_encoded_pixel_rate: u32,
pub sensor: VideoSensorParams,
pub min_viewport: (u16, u16),
pub max_content_buffer_size: u32,
pub max_network_bandwidth: u32,
pub supported_stream_usages: &'a [StreamUsageEnum],
pub default_stream_usage_priorities: &'a [StreamUsageEnum],
pub rate_distortion_points: &'a [RateDistortionPoint],
pub mic_capabilities: Option<AudioCapabilitiesConfig<'a>>,
}Expand description
Static (non-allocatable) configuration for a CameraAvStreamHandler.
Everything that does not change at runtime: sensor description, codec/resolution catalogue, supported usages, encoder limits.
Fields§
§max_concurrent_encoders: u8§max_encoded_pixel_rate: u32§sensor: VideoSensorParams§min_viewport: (u16, u16)Floor for both MinViewportResolution and any min_resolution
supplied by VideoStreamAllocate. Stored as (width, height).
max_content_buffer_size: u32Reported via MaxContentBufferSize. Spec recommends ≥ 1 MiB.
max_network_bandwidth: u32Reported via MaxNetworkBandwidth (kbps).
supported_stream_usages: &'a [StreamUsageEnum]Stable, server-defined list of every usage this camera could
expose. StreamUsagePriorities (mutable, see
default_stream_usage_priorities) is always a subset/permutation.
default_stream_usage_priorities: &'a [StreamUsageEnum]Initial priority order at boot. Must be a permutation of (a
subset of) supported_stream_usages.
rate_distortion_points: &'a [RateDistortionPoint]RateDistortionTradeOffPoints operating-points catalogue. At
least one entry strongly recommended for interop.
mic_capabilities: Option<AudioCapabilitiesConfig<'a>>If Some, the AUDIO feature is active and this describes the
microphone via MicrophoneCapabilities. If None, only VIDEO is
supported (the CLUSTER constant; the CLUSTER_VIDEO_AUDIO
constant requires Some).
Trait Implementations§
Source§impl<'a> Clone for CameraAvStreamConfig<'a>
impl<'a> Clone for CameraAvStreamConfig<'a>
Source§fn clone(&self) -> CameraAvStreamConfig<'a>
fn clone(&self) -> CameraAvStreamConfig<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl<'a> Copy for CameraAvStreamConfig<'a>
Auto Trait Implementations§
impl<'a> Freeze for CameraAvStreamConfig<'a>
impl<'a> RefUnwindSafe for CameraAvStreamConfig<'a>
impl<'a> Send for CameraAvStreamConfig<'a>
impl<'a> Sync for CameraAvStreamConfig<'a>
impl<'a> Unpin for CameraAvStreamConfig<'a>
impl<'a> UnsafeUnpin for CameraAvStreamConfig<'a>
impl<'a> UnwindSafe for CameraAvStreamConfig<'a>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> ⓘ
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> ⓘ
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 more