Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
CInputStreamAddon Class Reference

Input stream class. More...

#include <InputStreamAddon.h>

Inheritance diagram for CInputStreamAddon:
ADDON::IAddonInstanceHandler CDVDInputStream CDVDInputStream::IDisplayTime CDVDInputStream::ITimes CDVDInputStream::IPosTime CDVDInputStream::IDemux

Public Member Functions

 CInputStreamAddon (ADDON::BinaryAddonBasePtr &addonBase, IVideoPlayer *player, const CFileItem &fileitem)
 
 ~CInputStreamAddon () override
 
bool Open () override
 
void Close () override
 
int Read (uint8_t *buf, int buf_size) override
 
int64_t Seek (int64_t offset, int whence) override
 
bool Pause (double dTime) override
 
int64_t GetLength () override
 
bool IsEOF () override
 
bool CanSeek () override
 
bool CanPause () override
 
CDVDInputStream::IDisplayTimeGetIDisplayTime () override
 
int GetTotalTime () override
 
int GetTime () override
 
CDVDInputStream::ITimesGetITimes () override
 
bool GetTimes (Times &times) override
 
CDVDInputStream::IPosTimeGetIPosTime () override
 
bool PosTime (int ms) override
 
CDVDInputStream::IDemuxGetIDemux () override
 
bool OpenDemux () override
 
DemuxPacketReadDemux () override
 
CDemuxStreamGetStream (int streamId) const override
 
std::vector< CDemuxStream * > GetStreams () const override
 
void EnableStream (int streamId, bool enable) override
 
bool OpenStream (int streamid) override
 
int GetNrOfStreams () const override
 
void SetSpeed (int speed) override
 
bool SeekTime (double time, bool backward=false, double *startpts=nullptr) override
 
void AbortDemux () override
 
void FlushDemux () override
 
void SetVideoResolution (int width, int height) override
 
bool IsRealtime () override
 
- 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 AddonDllPtrAddon () const
 
BinaryAddonBasePtr GetAddonBase () const
 
- Public Member Functions inherited from CDVDInputStream
 CDVDInputStream (DVDStreamType m_streamType, const CFileItem &fileitem)
 
virtual ~CDVDInputStream ()
 
virtual std::string & GetContent ()
 
virtual std::string GetFileName ()
 
virtual CURL GetURL ()
 
virtual ENextStream NextStream ()
 
virtual void Abort ()
 
virtual int GetBlockSize ()
 
virtual void SetReadRate (unsigned rate)
 Indicate expected read rate in bytes per second. This could be used to throttle caching rate. Should be seen as only a hint. More...
 
virtual bool GetCacheStatus (XFILE::SCacheStatus *status)
 Get the cache status. More...
 
bool IsStreamType (DVDStreamType type) const
 
virtual BitstreamStats GetBitstreamStats () const
 
bool ContentLookup ()
 
void SetRealtime (bool realtime)
 
const CVariantGetProperty (const std::string key)
 
- Public Member Functions inherited from CDVDInputStream::IDisplayTime
virtual ~IDisplayTime ()=default
 
- Public Member Functions inherited from CDVDInputStream::ITimes
virtual ~ITimes ()=default
 
- Public Member Functions inherited from CDVDInputStream::IPosTime
virtual ~IPosTime ()=default
 
- Public Member Functions inherited from CDVDInputStream::IDemux
virtual ~IDemux ()=default
 

Static Public Member Functions

static bool Supports (ADDON::BinaryAddonBasePtr &addonBase, const CFileItem &fileitem)
 

Static Protected Member Functions

static int ConvertVideoCodecProfile (STREAMCODEC_PROFILE profile)
 

Protected Attributes

IVideoPlayerm_player
 
- Protected Attributes inherited from CDVDInputStream
DVDStreamType m_streamType
 
BitstreamStats m_stats
 
std::string m_content
 
CFileItem m_item
 
bool m_contentLookup
 
bool m_realtime
 

Additional Inherited Members

- Public Types inherited from CDVDInputStream
enum  ENextStream { NEXTSTREAM_NONE , NEXTSTREAM_OPEN , NEXTSTREAM_RETRY }
 

Detailed Description

Input stream class.

Constructor & Destructor Documentation

◆ CInputStreamAddon()

CInputStreamAddon::CInputStreamAddon ( ADDON::BinaryAddonBasePtr addonBase,
IVideoPlayer player,
const CFileItem fileitem 
)

◆ ~CInputStreamAddon()

CInputStreamAddon::~CInputStreamAddon ( )
override

Member Function Documentation

◆ AbortDemux()

void CInputStreamAddon::AbortDemux ( )
overridevirtual

◆ CanPause()

bool CInputStreamAddon::CanPause ( )
overridevirtual
Todo:
drop this

Reimplemented from CDVDInputStream.

◆ CanSeek()

bool CInputStreamAddon::CanSeek ( )
overridevirtual

Reimplemented from CDVDInputStream.

◆ Close()

void CInputStreamAddon::Close ( void  )
overridevirtual

Reimplemented from CDVDInputStream.

◆ ConvertVideoCodecProfile()

int CInputStreamAddon::ConvertVideoCodecProfile ( STREAMCODEC_PROFILE  profile)
staticprotected

◆ EnableStream()

void CInputStreamAddon::EnableStream ( int  streamId,
bool  enable 
)
overridevirtual

Reimplemented from CDVDInputStream::IDemux.

◆ FlushDemux()

void CInputStreamAddon::FlushDemux ( )
overridevirtual

◆ GetIDemux()

CDVDInputStream::IDemux * CInputStreamAddon::GetIDemux ( )
overridevirtual

Reimplemented from CDVDInputStream.

◆ GetIDisplayTime()

CDVDInputStream::IDisplayTime * CInputStreamAddon::GetIDisplayTime ( )
overridevirtual

Reimplemented from CDVDInputStream.

◆ GetIPosTime()

CDVDInputStream::IPosTime * CInputStreamAddon::GetIPosTime ( )
overridevirtual

Reimplemented from CDVDInputStream.

◆ GetITimes()

CDVDInputStream::ITimes * CInputStreamAddon::GetITimes ( )
overridevirtual

Reimplemented from CDVDInputStream.

◆ GetLength()

int64_t CInputStreamAddon::GetLength ( )
overridevirtual

Implements CDVDInputStream.

◆ GetNrOfStreams()

int CInputStreamAddon::GetNrOfStreams ( ) const
overridevirtual

◆ GetStream()

CDemuxStream * CInputStreamAddon::GetStream ( int  streamId) const
overridevirtual

◆ GetStreams()

std::vector< CDemuxStream * > CInputStreamAddon::GetStreams ( ) const
overridevirtual

◆ GetTime()

int CInputStreamAddon::GetTime ( )
overridevirtual

◆ GetTimes()

bool CInputStreamAddon::GetTimes ( Times times)
overridevirtual

◆ GetTotalTime()

int CInputStreamAddon::GetTotalTime ( )
overridevirtual

◆ IsEOF()

bool CInputStreamAddon::IsEOF ( )
overridevirtual

Implements CDVDInputStream.

◆ IsRealtime()

bool CInputStreamAddon::IsRealtime ( )
overridevirtual

Reimplemented from CDVDInputStream.

◆ Open()

bool CInputStreamAddon::Open ( )
overridevirtual

Reimplemented from CDVDInputStream.

◆ OpenDemux()

bool CInputStreamAddon::OpenDemux ( )
overridevirtual

◆ OpenStream()

bool CInputStreamAddon::OpenStream ( int  streamid)
overridevirtual

Reimplemented from CDVDInputStream::IDemux.

◆ Pause()

bool CInputStreamAddon::Pause ( double  dTime)
overridevirtual

Implements CDVDInputStream.

◆ PosTime()

bool CInputStreamAddon::PosTime ( int  ms)
overridevirtual

◆ Read()

int CInputStreamAddon::Read ( uint8_t buf,
int  buf_size 
)
overridevirtual

Implements CDVDInputStream.

◆ ReadDemux()

DemuxPacket * CInputStreamAddon::ReadDemux ( )
overridevirtual

◆ Seek()

int64_t CInputStreamAddon::Seek ( int64_t  offset,
int  whence 
)
overridevirtual

Implements CDVDInputStream.

◆ SeekTime()

bool CInputStreamAddon::SeekTime ( double  time,
bool  backward = false,
double *  startpts = nullptr 
)
overridevirtual

◆ SetSpeed()

void CInputStreamAddon::SetSpeed ( int  speed)
overridevirtual

◆ SetVideoResolution()

void CInputStreamAddon::SetVideoResolution ( int  width,
int  height 
)
overridevirtual

Reimplemented from CDVDInputStream::IDemux.

◆ Supports()

bool CInputStreamAddon::Supports ( ADDON::BinaryAddonBasePtr addonBase,
const CFileItem fileitem 
)
static

Member Data Documentation

◆ m_player

IVideoPlayer* CInputStreamAddon::m_player
protected

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