Kodi Development 22.0
for Binary and Script based Add-Ons
 
Loading...
Searching...
No Matches
CInstanceInputStreamabstract

Inherits IAddonInstance.

Public Member Functions

DEMUX_PACKETAllocateDemuxPacket (int dataSize)
 Allocate a demux packet. Free with FreeDemuxPacket.
 
DEMUX_PACKETAllocateEncryptedDemuxPacket (int dataSize, unsigned int encryptedSubsampleCount)
 Allocate a encrypted demux packet. Free with FreeDemuxPacket.
 
 CInstanceInputStream (const IInstanceInfo &instance)
 Inputstream class constructor used to support multiple instance types.
 
virtual void Close ()=0
 Close an open stream.
 
virtual void DemuxAbort ()
 Abort the demultiplexer thread in the add-on.
 
virtual void DemuxFlush ()
 Flush all data that's currently in the demultiplexer buffer in the add-on.
 
virtual DEMUX_PACKETDemuxRead ()
 Read the next packet from the demultiplexer, if there is one.
 
virtual void DemuxReset ()
 Reset the demultiplexer in the add-on.
 
virtual bool DemuxSeekTime (double time, bool backwards, double &startpts)
 Notify the InputStream addon/demuxer that Kodi wishes to seek the stream by time.
 
virtual void DemuxSetSpeed (int speed)
 Notify the InputStream addon/demuxer that Kodi wishes to change playback speed.
 
virtual void EnableStream (int streamid, bool enable)
 Enable or disable a stream.
 
void FreeDemuxPacket (DEMUX_PACKET *packet)
 Free a packet that was allocated with AllocateDemuxPacket.
 
virtual int GetBlockSize ()
 Obtain the chunk size to use when reading streams.
 
virtual void GetCapabilities (kodi::addon::InputstreamCapabilities &capabilities)=0
 Get the list of features that this add-on provides.
 
virtual int GetChapter ()
 Return currently selected chapter.
 
virtual int GetChapterCount ()
 Return number of available chapters.
 
virtual const char * GetChapterName (int ch)
 Return name of chapter.
 
virtual int64_t GetChapterPos (int ch)
 Return position if chapter # ch in milliseconds.
 
virtual bool GetStream (int streamid, kodi::addon::InputstreamInfo &stream)
 Function for giving detailed stream information.
 
virtual bool GetStreamIds (std::vector< unsigned int > &ids)
 Get IDs of available streams.
 
virtual int GetTime ()
 Playing time in ms.
 
virtual bool GetTimes (InputstreamTimes &times)
 Get current timing values in PTS scale.
 
virtual int GetTotalTime ()
 Totel time in ms.
 
virtual bool IsRealTimeStream ()
 Check for real-time streaming.
 
virtual int64_t LengthStream ()
 The Total length of the stream that's currently being read.
 
virtual bool Open (const kodi::addon::InputstreamProperty &props)=0
 Open a stream.
 
virtual bool OpenStream (int streamid)
 Opens a stream for playback.
 
virtual int64_t PositionStream ()
 The position in the stream that's currently being read.
 
virtual bool PosTime (int ms)
 Positions inputstream to playing time given in ms.
 
virtual int ReadStream (uint8_t *buffer, unsigned int bufferSize)
 Read from an open stream.
 
virtual bool SeekChapter (int ch)
 Seek to the beginning of chapter # ch.
 
virtual int64_t SeekStream (int64_t position, int whence=SEEK_SET)
 Seek in a stream.
 
virtual void SetVideoResolution (unsigned int width, unsigned int height)
 Notify current screen resolution.
 
virtual void SetVideoResolution (unsigned int width, unsigned int height, unsigned int maxWidth, unsigned int maxHeight)
 Notify current screen resolution and max screen resolution allowed.
 
 ~CInstanceInputStream () override=default
 Destructor.
 
- Public Member Functions inherited from IAddonInstance
bool CheckInstanceSettingBoolean (const std::string &settingName, bool &settingValue)
 
template<typename enumType >
bool CheckInstanceSettingEnum (const std::string &settingName, enumType &settingValue)
 
bool CheckInstanceSettingFloat (const std::string &settingName, float &settingValue)
 
bool CheckInstanceSettingInt (const std::string &settingName, int &settingValue)
 
bool CheckInstanceSettingString (const std::string &settingName, std::string &settingValue)
 
virtual ADDON_STATUS CreateInstance (const kodi::addon::IInstanceInfo &instance, KODI_ADDON_INSTANCE_HDL &hdl)
 
std::string GetInstanceAPIVersion () const
 
bool GetInstanceSettingBoolean (const std::string &settingName, bool defaultValue=false)
 
template<typename enumType >
enumType GetInstanceSettingEnum (const std::string &settingName, enumType defaultValue=static_cast< enumType >(0))
 
float GetInstanceSettingFloat (const std::string &settingName, float defaultValue=0.0f)
 
int GetInstanceSettingInt (const std::string &settingName, int defaultValue=0)
 
std::string GetInstanceSettingString (const std::string &settingName, const std::string &defaultValue="")
 
std::string GetInstanceUserPath (const std::string &append="")
 
 IAddonInstance (const kodi::addon::IInstanceInfo &instance)
 
bool IsInstanceSettingUsingDefault (const std::string &settingName)
 
virtual ADDON_STATUS SetInstanceSetting (const std::string &settingName, const kodi::addon::CSettingValue &settingValue)
 
void SetInstanceSettingBoolean (const std::string &settingName, bool settingValue)
 
template<typename enumType >
void SetInstanceSettingEnum (const std::string &settingName, enumType settingValue)
 
void SetInstanceSettingFloat (const std::string &settingName, float settingValue)
 
void SetInstanceSettingInt (const std::string &settingName, int settingValue)
 
void SetInstanceSettingString (const std::string &settingName, const std::string &settingValue)
 

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