pub struct FrameInfo {
pub buffer_index: Option<u32>,
pub capture_timestamp: Option<i64>,
pub buffer_release_token: Option<EventPair>,
/* private fields */
}
Expand description
Return fields of the [GetNextFrame
] call. These fields hold the
frame’s information on buffer location, timing, and a way to release
after using it. All fields will be returned by the server.
Fields§
§buffer_index: Option<u32>
The index of the VMO where the requested frame has been rendered in the buffer collection.
capture_timestamp: Option<i64>
The time that the buffer was populated with the frame.
buffer_release_token: Option<EventPair>
The release token for |buffer_index|. The client drops the eventpair
to signal to the server that |buffer_index| is free for writing.
If the eventpair is not dropped, then in the future calls to
[GetNextFrame
], if there are no available buffers, the server will
wait until the client frees up a past buffer. If the client was holding
on to all buffers in the buffer collection and then
releases a buffer while hanging, the server will immediately return the
latest frame.
Trait Implementations§
Source§impl Decode<FrameInfo, DefaultFuchsiaResourceDialect> for FrameInfo
impl Decode<FrameInfo, DefaultFuchsiaResourceDialect> for FrameInfo
Source§impl ResourceTypeMarker for FrameInfo
impl ResourceTypeMarker for FrameInfo
Source§type Borrowed<'a> = &'a mut FrameInfo
type Borrowed<'a> = &'a mut FrameInfo
Encode<Self>
type cheaply obtainable from &mut Self::Owned
. There are three cases: Read moreSource§fn take_or_borrow<'a>(
value: &'a mut <Self as TypeMarker>::Owned,
) -> Self::Borrowed<'a>
fn take_or_borrow<'a>( value: &'a mut <Self as TypeMarker>::Owned, ) -> Self::Borrowed<'a>
&mut Self::Owned
to Self::Borrowed
. For
HandleBased
types this is “take” (it returns an owned handle and
replaces value
with Handle::invalid
), and for all other types it is
“borrow” (just converts from one reference to another).Source§impl TypeMarker for FrameInfo
impl TypeMarker for FrameInfo
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.