| 
    Kodi Documentation 18.0
    
   Kodi is an open source media player and entertainment hub. 
   | 
 
#include <AddonVideoCodec.h>
  
Public Member Functions | |
| CAddonVideoCodec (CProcessInfo &processInfo, ADDON::BinaryAddonBasePtr &addonInfo, kodi::addon::IAddonInstance *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 BinaryAddonBasePtr &addonBase, KODI_HANDLE parentInstance=nullptr, const std::string &instanceID="") | |
| virtual | ~IAddonInstanceHandler () | 
| ADDON_TYPE | UsedType () const | 
| const std::string & | InstanceID () | 
| std::string | ID () const | 
| std::string | Name () const | 
| std::string | Author () const | 
| std::string | Icon () const | 
| std::string | Path () const | 
| std::string | Profile () const | 
| AddonVersion | Version () const | 
| ADDON_STATUS | CreateInstance (KODI_HANDLE instance) | 
| void | DestroyInstance () | 
| const AddonDllPtr & | Addon () const | 
| BinaryAddonBasePtr | GetAddonBase () const | 
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 | 
| CAddonVideoCodec::CAddonVideoCodec | ( | CProcessInfo & | processInfo, | 
| ADDON::BinaryAddonBasePtr & | addonInfo, | ||
| kodi::addon::IAddonInstance * | 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 runnung 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 runnung 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.
      
  | 
  inlineoverridevirtual | 
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.