41 virtual
void end() = 0;
43 virtual
bool hasError(
fl::
string* msg =
nullptr) const = 0;
53 virtual bool seek(fl::u32 frameIndex) { (void)frameIndex;
return false; }
56 virtual bool hasAudio()
const {
return false; }
65 void end()
override {}
66 bool isReady()
const override {
return false; }
69 *msg =
"Codec not supported on this platform";
virtual fl::u32 getFrameCount() const
virtual fl::u32 getCurrentFrameIndex() const
virtual bool hasAudio() const
virtual bool isReady() const =0
virtual Frame getCurrentFrame()=0
virtual bool hasMoreFrames() const =0
virtual DecodeResult decode()=0
virtual bool hasError(fl::string *msg=nullptr) const =0
virtual int getAudioSampleRate() const
virtual bool begin(fl::filebuf_ptr stream)=0
virtual ~IDecoder() FL_NOEXCEPT=default
virtual bool seek(fl::u32 frameIndex)
virtual void setAudioCallback(AudioFrameCallback callback)
DecodeResult decode() override
bool begin(fl::filebuf_ptr) override
Frame getCurrentFrame() override
bool hasError(fl::string *msg=nullptr) const override
bool isReady() const override
bool hasMoreFrames() const override
fl::shared_ptr< filebuf > filebuf_ptr
fl::function< void(const audio::Sample &)> AudioFrameCallback
Base definition for an LED controller.
#define FASTLED_SHARED_PTR(type)