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