11 #include "cores/AudioEngine/Utils/AEAudioFormat.h"    12 #include "filesystem/File.h"    13 #include "music/tags/MusicInfoTag.h"    18 #define READ_SUCCESS   0    31     m_bitsPerCodedSample = 0;
    33   virtual ~
ICodec() = 
default;
    44   virtual bool Init(
const CFileItem &file, 
unsigned int filecache)=0;
    46   virtual bool CanSeek() {
return true;}
    52   virtual bool Seek(int64_t iSeekTime)=0;
    58   virtual int ReadPCM(uint8_t* pBuffer, 
size_t size, 
size_t* actualsize) = 0;
    60   virtual int ReadRaw(uint8_t **pBuffer, 
int *bufferSize) { 
return READ_ERROR; }
    65   virtual bool CanInit()=0;
    68   virtual void SetTotalTime(int64_t totaltime) {}
    70   virtual bool IsCaching()
    const    {
return false;}
    71   virtual int GetCacheLevel()
 const    {
return -1;}
    76   int m_bitsPerCodedSample;
    77   std::string m_CodecName;
 
Definition: MusicInfoTag.h:27
Represents a file on a share. 
Definition: FileItem.h:102