|
std::chrono::nanoseconds | delay |
|
mem_type_e | mem_type |
|
XWindowAttributes | xattr |
|
x11::xdisplay_t | xdisplay |
|
Window | xwindow |
|
int | env_height |
|
int | env_width |
|
int | height |
|
int | offset_x |
|
int | offset_y |
|
int | width |
|
|
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"} |
|
◆ x11_attr_t()
platf::x11_attr_t::x11_attr_t |
( |
mem_type_e | mem_type | ) |
|
|
inline |
Last X (NOT the streamed monitor!) size. This way we can trigger reinitialization if the dimensions changed while streaming
◆ alloc_img()
std::shared_ptr< img_t > platf::x11_attr_t::alloc_img |
( |
| ) |
|
|
inlineoverridevirtual |
◆ capture()
Capture a frame.
- Parameters
-
push_captured_image_cb | The callback that is called with captured image, must be called from the same thread as capture() |
pull_free_image_cb | Capture backends call this callback to get empty image from the pool. If backend uses multiple threads, calls to this callback must be synchronized. Calls to this callback and push_captured_image_cb must be synchronized as well. |
cursor | A pointer to the flag that indicates whether the cursor should be captured as well. |
- Return values
-
Implements platf::display_t.
◆ dummy_img()
int platf::x11_attr_t::dummy_img |
( |
img_t * | img | ) |
|
|
inlineoverridevirtual |
◆ make_avcodec_encode_device()
◆ refresh()
void platf::x11_attr_t::refresh |
( |
| ) |
|
|
inline |
Called when the display attributes should change.
The documentation for this struct was generated from the following file: