pub enum ScreenCaptureRequest {
Configure {
payload: ScreenCaptureConfig,
responder: ScreenCaptureConfigureResponder,
},
GetNextFrame {
responder: ScreenCaptureGetNextFrameResponder,
},
}
Expand description
Provides a low-level streaming API for clients to use.
ScreenCapture clients should familiarize themselves with the
[fuchsia.sysmem/BufferCollection
] and
[fuchsia.ui.composition/Allocator
] protocols as those are necessary to
create the BufferCollections and images ScreenCapture uses.
Variants§
Configure
Clients should first use the [‘fuchsia.ui.composition/Allocator’] protocol to register a BufferCollection.
Similarly, the clients are responsible for specifying a buffer big enough for the image. If the buffer is too small, an attempt will be made to render the image, however, it will not be guaranteed to contain the complete image.
GetNextFrame
[GetNextFrame
] returns the latest unseen-by-the-client frame as soon
as possible. On the first call to [GetNextFrame
] and any subsequent
calls that have not recieved the previous expected requested frame,
[GetNextFrame
] will return immediately with the last frame to be
rendered. If the client had requested the previous frame, the server
will wait until the next frame is produced to return.
After the client finishes processing the returned buffer, they should drop the eventpair to signal to the server that the buffer can be re-used.
It is invalid to call [GetNextFrame
] while a previous call is still
pending. Doing so will return a BAD_HANGING_GET error and cause the
channel to close.
Fields
responder: ScreenCaptureGetNextFrameResponder
Implementations§
Source§impl ScreenCaptureRequest
impl ScreenCaptureRequest
pub fn into_configure( self, ) -> Option<(ScreenCaptureConfig, ScreenCaptureConfigureResponder)>
pub fn into_get_next_frame(self) -> Option<ScreenCaptureGetNextFrameResponder>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL