Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
CDVDVideoCodecStarfish Class Reference

#include <DVDVideoCodecStarfish.h>

Inheritance diagram for CDVDVideoCodecStarfish:
CDVDVideoCodec

Public Member Functions

 CDVDVideoCodecStarfish (CProcessInfo &processInfo)
 
 ~CDVDVideoCodecStarfish () override
 
bool Open (CDVDStreamInfo &hints, CDVDCodecOptions &options) override
 
bool AddData (const DemuxPacket &packet) override
 
void Reset () override
 
bool Reconfigure (CDVDStreamInfo &hints) override
 
VCReturn GetPicture (VideoPicture *pVideoPicture) override
 
const char * GetName () override
 
void SetCodecControl (int flags) override
 
void SetSpeed (int iSpeed) override
 
- Public Member Functions inherited from CDVDVideoCodec
 CDVDVideoCodec (CProcessInfo &processInfo)
 
virtual ~CDVDVideoCodec ()=default
 
virtual unsigned GetConvergeCount ()
 
virtual unsigned GetAllowedReferences ()
 
virtual bool GetCodecStats (double &pts, int &droppedFrames, int &skippedPics)
 
virtual void Reopen ()
 

Static Public Member Functions

static std::unique_ptr< CDVDVideoCodecCreate (CProcessInfo &processInfo)
 
static bool Register ()
 

Additional Inherited Members

- Public Types inherited from CDVDVideoCodec
enum  VCReturn {
  VC_NONE = 0 , VC_ERROR , VC_FATAL , VC_BUFFER ,
  VC_PICTURE , VC_FLUSHED , VC_NOBUFFER , VC_REOPEN ,
  VC_EOF
}
 
- Protected Attributes inherited from CDVDVideoCodec
CProcessInfom_processInfo
 

Constructor & Destructor Documentation

◆ CDVDVideoCodecStarfish()

CDVDVideoCodecStarfish::CDVDVideoCodecStarfish ( CProcessInfo processInfo)
explicit

◆ ~CDVDVideoCodecStarfish()

CDVDVideoCodecStarfish::~CDVDVideoCodecStarfish ( )
override

Member Function Documentation

◆ AddData()

bool CDVDVideoCodecStarfish::AddData ( const DemuxPacket packet)
overridevirtual

add data, decoder has to consume the entire packet returns true if the packet was consumed or if resubmitting it is useless

Implements CDVDVideoCodec.

◆ Create()

std::unique_ptr< CDVDVideoCodec > CDVDVideoCodecStarfish::Create ( CProcessInfo processInfo)
static

◆ GetName()

const char * CDVDVideoCodecStarfish::GetName ( )
inlineoverridevirtual

should return codecs name

Implements CDVDVideoCodec.

◆ GetPicture()

CDVDVideoCodec::VCReturn CDVDVideoCodecStarfish::GetPicture ( VideoPicture pVideoPicture)
overridevirtual

GetPicture controls decoding. Player calls it on every cycle it can signal a picture, request a buffer, or return none, if nothing applies the data is valid until the next GetPicture return VC_PICTURE

Implements CDVDVideoCodec.

◆ Open()

bool CDVDVideoCodecStarfish::Open ( CDVDStreamInfo hints,
CDVDCodecOptions options 
)
overridevirtual

Open the decoder, returns true on success Decoders not capable of running multiple instances should return false in case there is already a instance open

Implements CDVDVideoCodec.

◆ Reconfigure()

bool CDVDVideoCodecStarfish::Reconfigure ( CDVDStreamInfo hints)
overridevirtual

Reconfigure the decoder, returns true on success Decoders not capable of running multiple instances may be capable of reconfiguring the running instance. If Reconfigure returns false, player will close / open the decoder

Reimplemented from CDVDVideoCodec.

◆ Register()

bool CDVDVideoCodecStarfish::Register ( )
static

◆ Reset()

void CDVDVideoCodecStarfish::Reset ( )
overridevirtual

Reset the decoder. Should be the same as calling Dispose and Open after each other

Implements CDVDVideoCodec.

◆ SetCodecControl()

void CDVDVideoCodecStarfish::SetCodecControl ( int  flags)
overridevirtual

Codec can be informed by player with the following flags:

DVD_CODEC_CTRL_NO_POSTPROC : if speed is not normal the codec can switch off postprocessing and de-interlacing

DVD_CODEC_CTRL_HURRY : codecs may do postprocessing and de-interlacing. If video buffers in RenderManager are about to run dry, this is signaled to codec. Codec can wait for post-proc to be finished instead of returning empty and getting another packet.

DVD_CODEC_CTRL_DRAIN : instruct decoder to deliver last pictures without requesting new packets

DVD_CODEC_CTRL_DROP : this packet is going to be dropped. decoder is free to use it for decoding

Reimplemented from CDVDVideoCodec.

◆ SetSpeed()

void CDVDVideoCodecStarfish::SetSpeed ( int  iSpeed)
overridevirtual

will be called by video player indicating the playback speed. see DVD_PLAYSPEED_NORMAL, DVD_PLAYSPEED_PAUSE and friends.

Reimplemented from CDVDVideoCodec.


The documentation for this class was generated from the following files: