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: