Sunshine master
Self-hosted game stream host for Moonlight.
video::encode_session_t Struct Referenceabstract

Encoder session state shared by capture and encoding threads. More...

#include <src/video.h>

Inheritance diagram for video::encode_session_t:
[legend]

Public Member Functions

virtual int convert (platf::img_t &img)=0
 Convert a captured frame into the encoder's required input representation.
 
virtual void invalidate_ref_frames (int64_t first_frame, int64_t last_frame)=0
 Mark the frame range whose references must be invalidated.
 
virtual void request_idr_frame ()=0
 Mark the frame as a request for an IDR frame.
 
virtual void request_normal_frame ()=0
 Mark the frame as a request for a normal inter frame.
 

Detailed Description

Encoder session state shared by capture and encoding threads.

Member Function Documentation

◆ convert()

virtual int video::encode_session_t::convert ( platf::img_t & img)
pure virtual

Convert a captured frame into the encoder's required input representation.

Parameters
imgCaptured image supplied by the platform display backend.
Returns
Zero when the frame was converted or imported successfully.

Implemented in video::avcodec_encode_session_t, and video::nvenc_encode_session_t.

◆ invalidate_ref_frames()

virtual void video::encode_session_t::invalidate_ref_frames ( int64_t first_frame,
int64_t last_frame )
pure virtual

Mark the frame range whose references must be invalidated.

Parameters
first_frameFirst frame.
last_frameLast frame.

Implemented in video::avcodec_encode_session_t, and video::nvenc_encode_session_t.

◆ request_idr_frame()

virtual void video::encode_session_t::request_idr_frame ( )
pure virtual

Mark the frame as a request for an IDR frame.

Implemented in video::avcodec_encode_session_t, and video::nvenc_encode_session_t.

◆ request_normal_frame()

virtual void video::encode_session_t::request_normal_frame ( )
pure virtual

Mark the frame as a request for a normal inter frame.

Implemented in video::avcodec_encode_session_t, and video::nvenc_encode_session_t.


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