avi_alaw_decoder.h 656 B

123456789101112131415161718192021
  1. #pragma once
  2. #include "../nsavi/avi_header.h"
  3. #include "../Plugins/Input/in_avi/ifc_aviaudiodecoder.h"
  4. class AVIALawDecoder : public ifc_aviaudiodecoder
  5. {
  6. public:
  7. AVIALawDecoder(const nsavi::audio_format *waveformat);
  8. protected:
  9. RECVS_DISPATCH;
  10. private:
  11. /* ifc_aviaudiodecoder implementation */
  12. int OutputFrameSize(size_t *frame_size);
  13. int GetOutputProperties(unsigned int *sampleRate, unsigned int *channels, unsigned int *bitsPerSample, bool *isFloat);
  14. int DecodeChunk(uint16_t type, void **inputBuffer, size_t *inputBufferBytes, void *outputBuffer, size_t *outputBufferBytes);
  15. void Close();
  16. private:
  17. const nsavi::audio_format *waveformat;
  18. };