xbmc
|
Public Member Functions | |
CAddonVideoCodec (CProcessInfo &processInfo, ADDON::AddonInfoPtr &addonInfo, KODI_HANDLE parentInstance) | |
bool | Open (CDVDStreamInfo &hints, CDVDCodecOptions &options) override |
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. | |
bool | Reconfigure (CDVDStreamInfo &hints) override |
Reconfigure the decoder, returns true on success Decoders not capable of running multiple instances may be capable of reconfiguring the running instance. More... | |
bool | AddData (const DemuxPacket &packet) override |
add data, decoder has to consume the entire packet returns true if the packet was consumed or if resubmitting it is useless | |
void | Reset () override |
Reset the decoder. More... | |
VCReturn | GetPicture (VideoPicture *pVideoPicture) override |
GetPicture controls decoding. More... | |
const char * | GetName () override |
should return codecs name | |
void | SetCodecControl (int flags) override |
Codec can be informed by player with the following flags: More... | |
![]() | |
CDVDVideoCodec (CProcessInfo &processInfo) | |
virtual void | SetSpeed (int iSpeed) |
will be called by video player indicating the playback speed. More... | |
virtual unsigned | GetConvergeCount () |
How many packets should player remember, so codec can recover should something cause it to flush outside of players control. | |
virtual unsigned | GetAllowedReferences () |
Number of references to old pictures that are allowed to be retained when calling decode on the next demux packet. | |
virtual bool | GetCodecStats (double &pts, int &droppedFrames, int &skippedPics) |
For calculation of dropping requirements player asks for some information. More... | |
virtual void | Reopen () |
Re-open the decoder. More... | |
![]() | |
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. More... | |
ADDON_TYPE | UsedType () const |
AddonInstanceId | InstanceId () const |
const std::string & | UniqueWorkID () |
std::string | ID () 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 AddonDllPtr & | Addon () const |
AddonInfoPtr | GetAddonInfo () const |
virtual void | OnPreInstall () |
virtual void | OnPostInstall (bool update, bool modal) |
virtual void | OnPreUnInstall () |
virtual void | OnPostUnInstall () |
Additional Inherited Members | |
![]() | |
enum | VCReturn { VC_NONE = 0, VC_ERROR, VC_FATAL, VC_BUFFER, VC_PICTURE, VC_FLUSHED, VC_NOBUFFER, VC_REOPEN, VC_EOF } |
![]() | |
CProcessInfo & | m_processInfo |
![]() | |
KODI_ADDON_INSTANCE_INFO | m_info {} |
KODI_ADDON_INSTANCE_STRUCT | m_ifc {} |
|
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 |
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.
|
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.