pub struct StreamBufferConstraints {Show 13 fields
pub buffer_constraints_version_ordinal: Option<u64>,
pub default_settings: Option<StreamBufferSettings>,
pub per_packet_buffer_bytes_min: Option<u32>,
pub per_packet_buffer_bytes_recommended: Option<u32>,
pub per_packet_buffer_bytes_max: Option<u32>,
pub packet_count_for_server_min: Option<u32>,
pub packet_count_for_server_recommended: Option<u32>,
pub packet_count_for_server_recommended_max: Option<u32>,
pub packet_count_for_server_max: Option<u32>,
pub packet_count_for_client_min: Option<u32>,
pub packet_count_for_client_max: Option<u32>,
pub single_buffer_mode_allowed: Option<bool>,
pub is_physically_contiguous_required: Option<bool>,
/* private fields */
}
Expand description
This struct conveys the buffer_constraints_version_ordinal.
Historically this table conveyed more fields than it currently does, but those fields are all deprecated in favor of using sysmem instead.
There are separate instances of this struct for stream input and stream output.
Notes about fields:
For uncompressed video, separate and complete frames in their separate buffers (buffer-per-packet mode) are always a requirement.
Fields§
§buffer_constraints_version_ordinal: Option<u64>
This is a version number the server sets on the constraints to allow the server to determine when the client has caught up with the latest constraints sent by the server. The server won’t emit output data until the client has configured output settings and buffers with a buffer_constraints_version_ordinal >= the latest buffer_constraints_version_ordinal that had buffer_constraints_action_required true. See buffer_constraints_action_required comments for more.
A buffer_constraints_version_ordinal of 0 is not permitted, to simplify initial state handling. Other than 0, both odd and even version ordinals are allowed (in contrast to the stream_lifetime_ordinal, neither the client nor server ever has a reason to consider the latest version to be stale, so there would be no benefit to disallowing even values).
default_settings: Option<StreamBufferSettings>
§per_packet_buffer_bytes_min: Option<u32>
§per_packet_buffer_bytes_recommended: Option<u32>
§per_packet_buffer_bytes_max: Option<u32>
§packet_count_for_server_min: Option<u32>
§packet_count_for_server_recommended: Option<u32>
§packet_count_for_server_recommended_max: Option<u32>
§packet_count_for_server_max: Option<u32>
§packet_count_for_client_min: Option<u32>
§packet_count_for_client_max: Option<u32>
§single_buffer_mode_allowed: Option<bool>
§is_physically_contiguous_required: Option<bool>
Trait Implementations§
Source§impl Clone for StreamBufferConstraints
impl Clone for StreamBufferConstraints
Source§fn clone(&self) -> StreamBufferConstraints
fn clone(&self) -> StreamBufferConstraints
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for StreamBufferConstraints
impl Debug for StreamBufferConstraints
Source§impl<D: ResourceDialect> Decode<StreamBufferConstraints, D> for StreamBufferConstraints
impl<D: ResourceDialect> Decode<StreamBufferConstraints, D> for StreamBufferConstraints
Source§impl Default for StreamBufferConstraints
impl Default for StreamBufferConstraints
Source§fn default() -> StreamBufferConstraints
fn default() -> StreamBufferConstraints
Source§impl<D: ResourceDialect> Encode<StreamBufferConstraints, D> for &StreamBufferConstraints
impl<D: ResourceDialect> Encode<StreamBufferConstraints, D> for &StreamBufferConstraints
Source§impl PartialEq for StreamBufferConstraints
impl PartialEq for StreamBufferConstraints
Source§impl TypeMarker for StreamBufferConstraints
impl TypeMarker for StreamBufferConstraints
Source§type Owned = StreamBufferConstraints
type Owned = StreamBufferConstraints
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read more§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.Source§impl ValueTypeMarker for StreamBufferConstraints
impl ValueTypeMarker for StreamBufferConstraints
Source§type Borrowed<'a> = &'a StreamBufferConstraints
type Borrowed<'a> = &'a StreamBufferConstraints
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read moreimpl Persistable for StreamBufferConstraints
impl StructuralPartialEq for StreamBufferConstraints
Auto Trait Implementations§
impl Freeze for StreamBufferConstraints
impl RefUnwindSafe for StreamBufferConstraints
impl Send for StreamBufferConstraints
impl Sync for StreamBufferConstraints
impl Unpin for StreamBufferConstraints
impl UnwindSafe for StreamBufferConstraints
Blanket Implementations§
§impl<T> Body for Twhere
T: Persistable,
impl<T> Body for Twhere
T: Persistable,
§type MarkerAtTopLevel = T
type MarkerAtTopLevel = T
§type MarkerInResultUnion = T
type MarkerInResultUnion = T
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
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)
clone_to_uninit
)