2
0

BaseCodec.cpp 652 B

123456789101112131415161718192021222324252627282930
  1. #include "BaseCodec.h"
  2. #include <iostream>
  3. using namespace bell;
  4. bool BaseCodec::setup(AudioContainer* container) {
  5. return false;
  6. }
  7. uint8_t* BaseCodec::decode(AudioContainer* container, uint32_t& outLen) {
  8. auto* data = container->readSample(lastSampleLen);
  9. if (data == nullptr) {
  10. outLen = 0;
  11. return nullptr;
  12. }
  13. if (lastSampleLen == 0) {
  14. outLen = 0;
  15. return nullptr;
  16. }
  17. availableBytes = lastSampleLen;
  18. auto* result = decode((uint8_t*)data, availableBytes, outLen);
  19. if (result == nullptr) {
  20. container->consumeBytes(1);
  21. } else {
  22. container->consumeBytes(lastSampleLen - availableBytes);
  23. }
  24. return result;
  25. }