Sunshine master
Self-hosted game stream host for Moonlight.
video::packet_raw_generic Struct Reference

Generic encoded packet bytes and metadata. More...

#include <src/video.h>

Inheritance diagram for video::packet_raw_generic:
[legend]
Collaboration diagram for video::packet_raw_generic:
[legend]

Public Member Functions

uint8_t * data () override
 Return writable access to the generic packet payload.
 
size_t data_size () override
 Return the generic packet payload length.
 
int64_t frame_index () override
 Return the stored frame index for this generic packet.
 
bool is_idr () override
 Report whether the generic packet starts an IDR frame.
 
 packet_raw_generic (std::vector< uint8_t > &&frame_data, int64_t frame_index, bool idr)
 Wrap generic encoded frame bytes in Sunshine packet metadata.
 
- Public Member Functions inherited from video::packet_raw_t

Public Attributes

std::vector< uint8_t > frame_data
 Encoded frame bytes owned by this packet.
 
bool idr
 Whether the packet belongs to an IDR frame.
 
int64_t index
 Monotonic frame index assigned to this packet.
 
- Public Attributes inherited from video::packet_raw_t
bool after_ref_frame_invalidation = false
 Whether the frame follows reference-frame invalidation.
 
void * channel_data = nullptr
 Platform or protocol state carried with this packet.
 
std::optional< std::chrono::steady_clock::time_point > frame_timestamp
 Capture timestamp associated with the frame.
 
std::vector< replace_t > * replacements = nullptr
 Optional encoded-byte substitutions applied before packetization.
 

Detailed Description

Generic encoded packet bytes and metadata.

Constructor & Destructor Documentation

◆ packet_raw_generic()

video::packet_raw_generic::packet_raw_generic ( std::vector< uint8_t > && frame_data,
int64_t frame_index,
bool idr )
inline

Wrap generic encoded frame bytes in Sunshine packet metadata.

Parameters
frame_dataEncoded frame bytes produced by a non-FFmpeg encoder.
frame_indexMonotonic frame index assigned to the encoded frame.
idrWhether the packet begins an IDR frame.

Member Function Documentation

◆ data()

uint8_t * video::packet_raw_generic::data ( )
inlineoverridevirtual

Return writable access to the generic packet payload.

Returns
Pointer to the first encoded byte in frame_data.

Implements video::packet_raw_t.

◆ data_size()

size_t video::packet_raw_generic::data_size ( )
inlineoverridevirtual

Return the generic packet payload length.

Returns
Size of the encoded frame payload in bytes.

Implements video::packet_raw_t.

◆ frame_index()

int64_t video::packet_raw_generic::frame_index ( )
inlineoverridevirtual

Return the stored frame index for this generic packet.

Returns
Monotonic frame index assigned to this frame.

Implements video::packet_raw_t.

◆ is_idr()

bool video::packet_raw_generic::is_idr ( )
inlineoverridevirtual

Report whether the generic packet starts an IDR frame.

Returns
True when this frame is an IDR frame.

Implements video::packet_raw_t.


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