| 
    Kodi Documentation 22.0
    
   Kodi is an open source media player and entertainment hub. 
   | 
 
#include <AddonVideoCodec.h>
  
Public Member Functions | |
| CAddonVideoCodec (CProcessInfo &processInfo, ADDON::AddonInfoPtr &addonInfo, KODI_HANDLE parentInstance) | |
| ~CAddonVideoCodec () override | |
| bool | Open (CDVDStreamInfo &hints, CDVDCodecOptions &options) override | 
| bool | Reconfigure (CDVDStreamInfo &hints) override | 
| bool | AddData (const DemuxPacket &packet) override | 
| void | Reset () override | 
| VCReturn | GetPicture (VideoPicture *pVideoPicture) override | 
| const char * | GetName () override | 
| void | SetCodecControl (int flags) override | 
  Public Member Functions inherited from CDVDVideoCodec | |
| CDVDVideoCodec (CProcessInfo &processInfo) | |
| virtual | ~CDVDVideoCodec ()=default | 
| virtual void | SetSpeed (int iSpeed) | 
| virtual unsigned | GetConvergeCount () | 
| virtual unsigned | GetAllowedReferences () | 
| virtual bool | GetCodecStats (double &pts, int &droppedFrames, int &skippedPics) | 
| virtual void | Reopen () | 
  Public Member Functions inherited from ADDON::IAddonInstanceHandler | |
| IAddonInstanceHandler (ADDON_TYPE type, const AddonInfoPtr &addonInfo, AddonInstanceId instanceId=ADDON_INSTANCE_ID_UNUSED, KODI_HANDLE parentInstance=nullptr, const std::string &uniqueWorkID="") | |
| Class constructor for handling add-on instance processes, allowing an add-on to handle multiple work simultaneously and independently.   | |
| virtual | ~IAddonInstanceHandler () | 
| ADDON_TYPE | UsedType () const | 
| AddonInstanceId | InstanceId () const | 
| const std::string & | UniqueWorkID () const | 
| std::string | ID () const | 
| AddonInstanceId | InstanceID () const | 
| std::string | Name () const | 
| std::string | Author () const | 
| std::string | Icon () const | 
| std::string | Path () const | 
| std::string | Profile () const | 
| CAddonVersion | Version () const | 
| ADDON_STATUS | CreateInstance () | 
| void | DestroyInstance () | 
| const std::shared_ptr< CAddonDll > & | Addon () const | 
| AddonInfoPtr | GetAddonInfo () const | 
| virtual void | OnPreInstall () | 
| virtual void | OnPostInstall (bool update, bool modal) | 
| virtual void | OnPreUnInstall () | 
| virtual void | OnPostUnInstall () | 
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 | |
| CProcessInfo & | m_processInfo | 
  Protected Attributes inherited from ADDON::IAddonInstanceHandler | |
| KODI_ADDON_INSTANCE_STRUCT | m_ifc {} | 
| CAddonVideoCodec::CAddonVideoCodec | ( | CProcessInfo & | processInfo, | 
| ADDON::AddonInfoPtr & | addonInfo, | ||
| KODI_HANDLE | parentInstance ) | 
      
  | 
  override | 
      
  | 
  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.
      
  | 
  overridevirtual | 
should return codecs name
Implements CDVDVideoCodec.
      
  | 
  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.
      
  | 
  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.
      
  | 
  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.
      
  | 
  overridevirtual | 
Reset the decoder. Should be the same as calling Dispose and Open after each other
Implements CDVDVideoCodec.
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.