|
std::shared_ptr< platf::img_t > | alloc_img () override |
|
platf::capture_e | capture (const push_captured_image_cb_t &push_captured_image_cb, const pull_free_image_cb_t &pull_free_image_cb, bool *cursor) override |
| Capture a frame.
|
|
int | dummy_img (platf::img_t *img) override |
|
std::unique_ptr< platf::avcodec_encode_device_t > | make_avcodec_encode_device (platf::pix_fmt_e pix_fmt) override |
|
platf::capture_e | snapshot (const pull_free_image_cb_t &pull_free_image_cb, std::shared_ptr< platf::img_t > &img_out, std::chrono::milliseconds timeout, bool cursor) |
|
int | init (platf::mem_type_e hwdevice_type, const std::string &display_name, const ::video::config_t &config) |
|
platf::capture_e | snapshot (const pull_free_image_cb_t &pull_free_image_cb, std::shared_ptr< platf::img_t > &img_out, std::chrono::milliseconds timeout, bool cursor) |
|
virtual bool | get_hdr_metadata (SS_HDR_METADATA &metadata) |
|
virtual bool | is_codec_supported (std::string_view name, const ::video::config_t &config) |
| Check that a given codec is supported by the display device.
|
|
virtual bool | is_hdr () |
|
virtual std::unique_ptr< nvenc_encode_device_t > | make_nvenc_encode_device (pix_fmt_e pix_fmt) |
|
|
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"} |
|
◆ alloc_img()
std::shared_ptr< platf::img_t > wl::wlr_vram_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
-
capture_e::ok | When stopping |
capture_e::error | On error |
capture_e::reinit | When need of reinitialization |
Implements platf::display_t.
◆ dummy_img()
◆ make_avcodec_encode_device()
The documentation for this class was generated from the following file: