audio-repack.hpp 567 B

1234567891011121314151617181920212223
  1. #pragma once
  2. #include "audio-repack.h"
  3. class AudioRepacker {
  4. struct audio_repack arepack;
  5. public:
  6. inline AudioRepacker(audio_repack_mode_t repack_mode,
  7. int bits_per_sample)
  8. {
  9. audio_repack_init(&arepack, repack_mode, bits_per_sample);
  10. }
  11. inline ~AudioRepacker() { audio_repack_free(&arepack); }
  12. inline int repack(const uint8_t *src, uint32_t frame_size)
  13. {
  14. return (*arepack.repack_func)(&arepack, src, frame_size);
  15. }
  16. inline operator struct audio_repack *() { return &arepack; }
  17. inline struct audio_repack *operator->() { return &arepack; }
  18. };