Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
No Matches
kodi::addon::CInstanceInputStream Class Referenceabstract

#include <Inputstream.h>

Inheritance diagram for kodi::addon::CInstanceInputStream:

Public Member Functions

 CInstanceInputStream (const IInstanceInfo &instance)
 Inputstream class constructor used to support multiple instance types.
 ~CInstanceInputStream () override=default
virtual void GetCapabilities (kodi::addon::InputstreamCapabilities &capabilities)=0
 Get the list of features that this add-on provides.
virtual bool Open (const kodi::addon::InputstreamProperty &props)=0
 Open a stream.
virtual void Close ()=0
 Close an open stream.
virtual bool IsRealTimeStream ()
 Check for real-time streaming.
virtual int ReadStream (uint8_t *buffer, unsigned int bufferSize)
 Read from an open stream.
virtual int64_t SeekStream (int64_t position, int whence=SEEK_SET)
 Seek in a stream.
virtual int64_t PositionStream ()
 The position in the stream that's currently being read.
virtual int64_t LengthStream ()
 The Total length of the stream that's currently being read.
virtual int GetBlockSize ()
 Obtain the chunk size to use when reading streams.
virtual bool GetStreamIds (std::vector< unsigned int > &ids)
 Get IDs of available streams.
virtual bool GetStream (int streamid, kodi::addon::InputstreamInfo &stream)
 Function for giving detailed stream information.
virtual void EnableStream (int streamid, bool enable)
 Enable or disable a stream.
virtual bool OpenStream (int streamid)
 Opens a stream for playback.
virtual void DemuxReset ()
 Reset the demultiplexer in the add-on.
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 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 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.
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.
void FreeDemuxPacket (DEMUX_PACKET *packet)
 Free a packet that was allocated with AllocateDemuxPacket.
virtual int GetTotalTime ()
 Totel time in ms.
virtual int GetTime ()
 Playing time in ms.
virtual bool GetTimes (InputstreamTimes &times)
 Get current timing values in PTS scale.
virtual bool PosTime (int ms)
 Positions inputstream to playing time given in ms.
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 SeekChapter (int ch)
 Seek to the beginning of chapter # ch.
- Public Member Functions inherited from kodi::addon::IAddonInstance
 IAddonInstance (const kodi::addon::IInstanceInfo &instance)
virtual ~IAddonInstance ()=default
virtual ADDON_STATUS CreateInstance (const kodi::addon::IInstanceInfo &instance, KODI_ADDON_INSTANCE_HDL &hdl)
std::string GetInstanceAPIVersion () const
virtual ADDON_STATUS SetInstanceSetting (const std::string &settingName, const kodi::addon::CSettingValue &settingValue)
bool IsInstanceSettingUsingDefault (const std::string &settingName)
std::string GetInstanceUserPath (const std::string &append="")
bool CheckInstanceSettingString (const std::string &settingName, std::string &settingValue)
std::string GetInstanceSettingString (const std::string &settingName, const std::string &defaultValue="")
void SetInstanceSettingString (const std::string &settingName, const std::string &settingValue)
bool CheckInstanceSettingInt (const std::string &settingName, int &settingValue)
int GetInstanceSettingInt (const std::string &settingName, int defaultValue=0)
void SetInstanceSettingInt (const std::string &settingName, int settingValue)
bool CheckInstanceSettingBoolean (const std::string &settingName, bool &settingValue)
bool GetInstanceSettingBoolean (const std::string &settingName, bool defaultValue=false)
void SetInstanceSettingBoolean (const std::string &settingName, bool settingValue)
bool CheckInstanceSettingFloat (const std::string &settingName, float &settingValue)
float GetInstanceSettingFloat (const std::string &settingName, float defaultValue=0.0f)
void SetInstanceSettingFloat (const std::string &settingName, float settingValue)
template<typename enumType >
bool CheckInstanceSettingEnum (const std::string &settingName, enumType &settingValue)
template<typename enumType >
enumType GetInstanceSettingEnum (const std::string &settingName, enumType defaultValue=static_cast< enumType >(0))
template<typename enumType >
void SetInstanceSettingEnum (const std::string &settingName, enumType settingValue)

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