11 #include "DVDInputStream.h"    12 #include "IVideoPlayer.h"    13 #include "addons/AddonProvider.h"    14 #include "addons/binary-addons/AddonInstanceHandler.h"    15 #include "addons/kodi-dev-kit/include/kodi/addon-instance/Inputstream.h"    26   void GetAddonInstance(INSTANCE_TYPE instance_type,
    27                         ADDON::AddonInfoPtr& addonInfo,
    28                         KODI_HANDLE& parentInstance) 
override;
    31   ADDON::AddonInfoPtr m_addonInfo;
    32   KODI_HANDLE m_parentInstance;
    49                     const std::string& instanceId);
    52   static bool Supports(
const ADDON::AddonInfoPtr& addonInfo, 
const CFileItem& fileitem);
    56   void Close() 
override;
    57   int Read(uint8_t* buf, 
int buf_size) 
override;
    58   int64_t Seek(int64_t offset, 
int whence) 
override;
    59   int64_t GetLength() 
override;
    60   int GetBlockSize() 
override;
    61   bool IsEOF() 
override;
    62   bool CanSeek() 
override; 
    63   bool CanPause() 
override;
    67   int GetTotalTime() 
override;
    68   int GetTime() 
override;
    72   bool GetTimes(
Times ×) 
override;
    76   bool PosTime(
int ms) 
override;
    80   bool OpenDemux() 
override;
    83   std::vector<CDemuxStream*> GetStreams() 
const override;
    84   void EnableStream(
int streamId, 
bool enable) 
override;
    85   bool OpenStream(
int streamid) 
override;
    87   int GetNrOfStreams() 
const override;
    88   void SetSpeed(
int speed) 
override;
    89   bool SeekTime(
double time, 
bool backward = 
false, 
double* startpts = 
nullptr) 
override;
    90   void AbortDemux() 
override;
    91   void FlushDemux() 
override;
    92   void SetVideoResolution(
unsigned int width,
    94                           unsigned int maxWidth,
    95                           unsigned int maxHeight) 
override;
    96   bool IsRealtime() 
override;
   100   int GetChapter() 
override;
   101   int GetChapterCount() 
override;
   102   void GetChapterName(std::string& name, 
int ch = -1) 
override;
   103   int64_t GetChapterPos(
int ch = -1) 
override;
   104   bool SeekChapter(
int ch) 
override;
   113   void DetectScreenResolution();
   115   unsigned int m_currentVideoWidth{0};
   116   unsigned int m_currentVideoHeight{0};
   118   std::vector<std::string> m_fileItemProps;
   121   int m_streamCount = 0;
   123   std::shared_ptr<CInputStreamProvider> m_subAddonProvider;
   129   std::vector<std::unique_ptr<CDemuxStream>> m_streams;
   141   static DEMUX_PACKET* cb_allocate_demux_packet(
void* kodiInstance, 
int iDataSize = 0);
   150   static DEMUX_PACKET* cb_allocate_encrypted_demux_packet(
void* kodiInstance,
   151                                                           unsigned int dataSize,
   152                                                           unsigned int encryptedSubsampleCount);
   159   static void cb_free_demux_packet(
void* kodiInstance, 
DEMUX_PACKET* pPacket);
   172   static KODI_HANDLE cb_get_stream_transfer(KODI_HANDLE handle,
 Definition: IVideoPlayer.h:28
Definition: AddonInstanceHandler.h:33
Definition: AddonProvider.h:26
Definition: demux_packet.h:45
Definition: DVDDemux.h:72
Definition: DemuxPacket.h:22
Definition: DVDInputStream.h:76
Represents a file on a share. 
Definition: FileItem.h:102