AudioDataQueue.hpp 650 B

12345678910111213141516171819202122232425262728293031
  1. //
  2. // AudioDataQueue.hpp
  3. // SDKTester
  4. //
  5. // Created by lappi on 1/8/16.
  6. // Copyright © 2016 baidu. All rights reserved.
  7. //
  8. #ifndef AudioDataQueue_hpp
  9. #define AudioDataQueue_hpp
  10. class AudioDataQueue
  11. {
  12. public:
  13. AudioDataQueue(int bufferCapacity = 0);
  14. int queueAudio(const uint8_t* audioData, int dataLength);
  15. int dequeSamples(uint8_t* dataBuffer, int bufferSize, bool dequeRemaining);
  16. bool haveData();
  17. void reset();
  18. ~AudioDataQueue();
  19. private:
  20. uint8_t* mData;
  21. int mDataLength;
  22. int mBufferCapacity;
  23. uint8_t* mLoopStart;
  24. uint8_t* mLoopEnd;
  25. uint8_t* mDataEnd;
  26. };
  27. #endif /* AudioDataQueue_hpp */