Sunshine master
Self-hosted game stream host for Moonlight.
pipewire::stream_data_t Struct Reference

PipeWire stream handle, format, and shared state pointer. More...

Public Attributes

std::vector< uint8_t > * back_buffer
 Staging buffer currently writable by PipeWire callbacks.
 
std::vector< uint8_t > buffer_a
 First staging buffer used for CPU-copy PipeWire frames.
 
std::vector< uint8_t > buffer_b
 Second staging buffer used for CPU-copy PipeWire frames.
 
struct pw_buffer * current_buffer
 PipeWire buffer currently exposed to the capture thread.
 
uint64_t drm_format
 DRM format.
 
struct spa_video_info format
 Negotiated PipeWire video format.
 
std::condition_variable frame_cv
 Signals arrival or release of a PipeWire frame.
 
std::mutex frame_mutex
 Synchronizes access to the current PipeWire frame.
 
bool frame_ready = false
 Whether a PipeWire frame is ready to consume.
 
std::vector< uint8_t > * front_buffer
 Staging buffer currently readable by fill_img.
 
size_t local_stride = 0
 Local stride.
 
std::shared_ptr< shared_state_tshared
 State shared between PipeWire callbacks and the capture backend.
 
struct pw_stream * stream
 PipeWire stream handle used for screencast frames.
 
struct spa_hook stream_listener
 Hook registering callbacks on the PipeWire stream.
 

Detailed Description

PipeWire stream handle, format, and shared state pointer.


The documentation for this struct was generated from the following file: