|
| bool | check_stream_dead (platf::capture_e &out_status) override |
| |
| int | configure_stream (const std::string &display_name, int &out_pipewire_fd, uint32_t &out_pipewire_node, uint64_t &out_pipewire_object_serial) override |
| | Configure the pipewire stream.
|
| |
| 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 |
| |
| bool | get_hdr_metadata (SS_HDR_METADATA &metadata) override |
| |
|
int | init (platf::mem_type_e hwdevice_type, const std::string &display_name, const ::video::config_t &config) |
| |
| bool | is_hdr () 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 show_cursor) |
| |
|
virtual void | verify_and_update_display_parameters () |
| | Verify and update display parameters for logical dimensions, desktop dimensions and logical desktop dimensions (default is adapted from wlgrab)
|
| |
| 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 std::unique_ptr< nvenc_encode_device_t > | make_nvenc_encode_device (pix_fmt_e pix_fmt) |
| |
|
|
dbus_t | dbus |
| |
|
int | env_height {0} |
| |
|
int | env_logical_height {0} |
| |
|
int | env_logical_width {0} |
| |
|
int | env_width {0} |
| |
|
int | height {0} |
| |
|
int | logical_height {0} |
| |
|
int | logical_width {0} |
| |
|
int | offset_x {0} |
| |
|
int | offset_y {0} |
| |
|
int | width {0} |
| |
|
|
static std::atomic< bool > | negotiate_maxframerate {true} |
| |
|
| 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.
|
| |
|
static bool | init_pipewire_and_check_hwdevice_type (platf::mem_type_e hwdevice_type) |
| |
|
pipewire_t | pipewire |
| |
|
std::shared_ptr< shared_state_t > | shared_state |
| |
|
logging::time_delta_periodic_logger | sleep_overshoot_logger = {debug, "Frame capture sleep overshoot"} |
| |
◆ check_stream_dead()
◆ configure_stream()
| int portal::portal_t::configure_stream |
( |
const std::string & | display_name, |
|
|
int & | out_pipewire_fd, |
|
|
uint32_t & | out_pipewire_node, |
|
|
uint64_t & | out_pipewire_objectserial ) |
|
inlineoverridevirtual |
Configure the pipewire stream.
- Parameters
-
| display_name | provide a stream for this display_name |
| out_pipewire_fd | set to the pipewire fd for the stream during function call (or -1 for using the local context) |
| out_pipewire_node | set to the pipewire node of the stream during function call (or PW_ID_ANY to refer to object_serial) |
| out_pipewire_objectserial | set the pipewire object serial of the stream during function call |
- Returns
- 0 if the stream successfully configured
Implements pipewire::pipewire_display_t.
The documentation for this class was generated from the following file: