12345678910111213141516171819202122232425262728293031323334 |
- #pragma once
- #include "foundation/dispatch.h"
- #include "nx/nxuri.h"
- #include "metadata/ifc_metadata.h"
- class ifc_audio_decoder_pull : public Wasabi2::Dispatchable
- {
- protected:
- ifc_audio_decoder_pull() : Dispatchable(DISPATCHABLE_VERSION) {}
- ~ifc_audio_decoder_pull() {}
- public:
-
-
- int GetFrameSize(size_t *frame_size) { return AudioDecoderPull_GetFrameSize(frame_size); }
- int GetMetadata(ifc_metadata **metadata) { return AudioDecoderPull_GetMetadata(metadata); }
-
-
- int Decode(void *buffer, size_t buffer_frames, size_t *frames_written) { return AudioDecoderPull_Decode(buffer, buffer_frames, frames_written); }
-
- void Close() { AudioDecoderPull_Close(); }
- enum
- {
- DISPATCHABLE_VERSION=0,
- };
- private:
- virtual int WASABICALL AudioDecoderPull_GetFrameSize(size_t *frame_size)=0;
- virtual int WASABICALL AudioDecoderPull_GetMetadata(ifc_metadata **metadata)=0;
- virtual int WASABICALL AudioDecoderPull_Decode(void *buffer, size_t buffer_frames, size_t *frames_written)=0;
- virtual void WASABICALL AudioDecoderPull_Close()=0;
- };
|