Base KMS display capture backend shared by RAM and VRAM paths.
More...
|
|
cursor_t | captured_cursor {} |
| | Captured cursor.
|
|
card_t | card |
| | Card.
|
|
std::optional< uint32_t > | connector_id |
| | Connector ID.
|
|
int | crtc_id |
| | Crtc ID.
|
|
int | crtc_index |
| | Crtc index.
|
|
int | cursor_plane_id |
| | Cursor plane ID.
|
|
std::chrono::nanoseconds | delay |
| | Delay before the timer task becomes eligible to run.
|
|
kms::empty_plane_timer_t | empty_plane_timer {250ms} |
| | Reinitializes capture once the captured plane stays empty.
|
|
std::optional< uint64_t > | hdr_metadata_blob_id |
| | HDR metadata blob ID.
|
|
int | img_height |
| | Img height.
|
|
int | img_offset_x |
| | Img offset x.
|
|
int | img_offset_y |
| | Img offset y.
|
|
int | img_width |
| | Img width.
|
|
mem_type_e | mem_type |
| | Mem type.
|
|
int | plane_id |
| | Plane ID.
|
|
int | env_height {0} |
| | Height of the full capture environment in physical pixels.
|
|
int | env_logical_height {0} |
| | Height of the full capture environment after display scaling.
|
|
int | env_logical_width {0} |
| | Width of the full capture environment after display scaling.
|
|
int | env_offset_x {0} |
| | Horizontal origin of the full capture environment in native desktop coordinates.
|
|
int | env_offset_y {0} |
| | Vertical origin of the full capture environment in native desktop coordinates.
|
|
int | env_width {0} |
| | Width of the full capture environment in physical pixels.
|
|
int | height {0} |
| | Height of the captured display in physical pixels.
|
|
int | logical_height {0} |
| | Height of the captured display after display scaling.
|
|
int | logical_width {0} |
| | Width of the captured display after display scaling.
|
|
int | offset_x {0} |
| | Horizontal capture offset in physical pixels.
|
|
int | offset_y {0} |
| | Vertical capture offset in physical pixels.
|
|
int | width {0} |
| | Width of the captured display in physical pixels.
|
|
| using | pull_free_image_cb_t = std::function<bool(std::shared_ptr<img_t> &img_out)> |
| | Get free image from pool. Calls must be synchronized. Blocks until there is free image in the pool or capture is interrupted.
|
| using | push_captured_image_cb_t = std::function<bool(std::shared_ptr<img_t> &&img, bool frame_captured)> |
| | Callback for when a new image is ready. When display has a new image ready or a timeout occurs, this callback will be called with the image. If a frame was captured, frame_captured will be true. If a timeout occurred, it will be false.
|
|
logging::time_delta_periodic_logger | sleep_overshoot_logger = {debug, "Frame capture sleep overshoot"} |
| | Periodic logger for capture sleep overshoot measurements.
|
Base KMS display capture backend shared by RAM and VRAM paths.
◆ display_t()
| platf::kms::display_t::display_t |
( |
mem_type_e | mem_type | ) |
|
|
inlineexplicit |
Explicitly initialize common KMS display state for the requested memory type.
- Parameters
-
◆ get_hdr_metadata()
| bool platf::kms::display_t::get_hdr_metadata |
( |
SS_HDR_METADATA & | metadata | ) |
|
|
inlineoverridevirtual |
Read HDR metadata for the active display mode.
- Parameters
-
| metadata | Output structure populated with HDR metadata. |
- Returns
- True when HDR metadata was written to the output structure.
Reimplemented from platf::display_t.
◆ init()
| int platf::kms::display_t::init |
( |
const std::string & | display_name, |
|
|
const ::video::config_t & | config ) |
|
inline |
Initialize the base KMS capture state for the selected monitor.
- Parameters
-
| display_name | Display name. |
| config | Configuration values to apply. |
- Returns
- 0 on success; nonzero or negative platform status on failure.
◆ is_hdr()
| bool platf::kms::display_t::is_hdr |
( |
| ) |
|
|
inlineoverridevirtual |
Report whether the active display mode is HDR.
- Returns
- True when the active display mode is HDR.
Reimplemented from platf::display_t.
◆ refresh()
Refresh cached platform state from the operating system.
- Parameters
-
| file | DMA-BUF file descriptors exported for the current framebuffer. |
| sd | EGL surface descriptor to import. |
| frame_timestamp | Output timestamp assigned to the captured frame. |
- Returns
- Capture status after refreshing framebuffer and cursor state.
The documentation for this class was generated from the following file: