pub struct MultiviewerStatus {Show 19 fields
pub uid: DeviceUid,
pub mappings: [DeviceUid; 4],
pub mcu_version: String,
pub scaler_version: String,
pub hw_view_mode: u8,
pub view_mode: MultiviewerViewMode,
pub pip_position: MultiviewerPipPosition,
pub pip_size: MultiviewerPipSize,
pub output_mode: MultiviewerOutputMode,
pub hdcp_mode: MultiviewerHdcpMode,
pub output_itc: MultiviewerItcMode,
pub edid_template: MultiviewerEdidTemplate,
pub aspect_ratio: MultiviewerAspectRatio,
pub auto_switch: MultiviewerBool,
pub audio_source: MultiviewerSource,
pub audio_volume: Option<u8>,
pub audio_muted: MultiviewerBool,
pub video_sources: [MultiviewerSource; 4],
pub remote_control: MultiviewerSource,
}Expand description
A multiviewer’s complete reported state.
Every enumerated field passes an unrecognised wire value through as it arrived, so a firmware that adds a mode reaches the caller as a value it does not know rather than as whichever mode happens to be zero.
Fields§
§uid: DeviceUidThe multiviewer this report describes.
mappings: [DeviceUid; 4]The source device mapped to each of the four inputs, or
DeviceUid::ZERO where the input has none.
A multiviewer running a module older than version 2026083100 leaves the previous device here when a mapping is removed, so on those an identifier is what was last mapped rather than what is mapped now, and nothing on the wire separates the two.
mcu_version: StringThe MCU firmware version.
scaler_version: StringThe scaler firmware version.
hw_view_mode: u8The layout the hardware reports, which the firmware maps to view_mode.
view_mode: MultiviewerViewModeThe window layout.
pip_position: MultiviewerPipPositionWhere the picture-in-picture window sits.
pip_size: MultiviewerPipSizeHow large the picture-in-picture window is.
output_mode: MultiviewerOutputModeThe output resolution and refresh rate.
hdcp_mode: MultiviewerHdcpModeThe HDCP version negotiated on the output.
output_itc: MultiviewerItcModeThe IT-content flag set on the output.
edid_template: MultiviewerEdidTemplateThe EDID template presented to the sources.
aspect_ratio: MultiviewerAspectRatioThe aspect ratio the windows are scaled to.
auto_switch: MultiviewerBoolWhether the multiviewer switches windows on its own.
audio_source: MultiviewerSourceThe window whose audio is being output.
audio_volume: Option<u8>Output volume as a percentage, or None when the device reported a
value outside 0..=100.
audio_muted: MultiviewerBoolWhether the output is muted.
video_sources: [MultiviewerSource; 4]The source shown in each of the four windows.
remote_control: MultiviewerSourceThe window receiving remote-control passthrough.
Implementations§
Source§impl MultiviewerStatus
impl MultiviewerStatus
Sourcepub fn window_count(&self) -> Option<u8>
pub fn window_count(&self) -> Option<u8>
How many windows the multiviewer is showing, or None when it has
reported no layout.
This reads hw_view_mode rather than view_mode: the second is
derived from the first plus a separate size read back from the scaler,
so a failed readback leaves view_mode naming nothing while the window
count is still known.
Trait Implementations§
Source§impl Clone for MultiviewerStatus
impl Clone for MultiviewerStatus
Source§fn clone(&self) -> MultiviewerStatus
fn clone(&self) -> MultiviewerStatus
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more