![]() |
Sunshine v2025.628.4510
Self-hosted game stream host for Moonlight.
|
Public Member Functions | |
| int | dummy_img (platf::img_t *img) override |
| 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) |
Public Member Functions inherited from platf::display_t | |
| virtual std::shared_ptr< img_t > | alloc_img ()=0 |
| virtual 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)=0 |
| Capture a frame. | |
| 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< avcodec_encode_device_t > | make_avcodec_encode_device (pix_fmt_e pix_fmt) |
| virtual std::unique_ptr< nvenc_encode_device_t > | make_nvenc_encode_device (pix_fmt_e pix_fmt) |
Public Attributes | |
| std::chrono::nanoseconds | delay |
| wl::display_t | display |
| dmabuf_t | dmabuf |
| interface_t | interface |
| platf::mem_type_e | mem_type |
| wl_output * | output |
Public Attributes inherited from platf::display_t | |
| int | env_height |
| int | env_width |
| int | height |
| int | offset_x |
| int | offset_y |
| int | width |
Additional Inherited Members | |
Public Types inherited from platf::display_t | |
| 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. | |
Protected Attributes inherited from platf::display_t | |
| logging::time_delta_periodic_logger | sleep_overshoot_logger = {debug, "Frame capture sleep overshoot"} |
|
inlineoverridevirtual |
Implements platf::display_t.