1234567891011121314151617181920212223242526 |
- #pragma once
- #include <cstddef>
- #include <cstring>
- #include <istream>
- #include "CodecType.h"
- #include "StreamInfo.h"
- namespace bell {
- class AudioContainer {
- protected:
- std::istream& istr;
- public:
- bell::SampleRate sampleRate;
- bell::BitWidth bitWidth;
- int channels;
- AudioContainer(std::istream& istr) : istr(istr) {}
- virtual std::byte* readSample(uint32_t& len) = 0;
- virtual void consumeBytes(uint32_t len) = 0;
- virtual void parseSetupData() = 0;
- virtual bell::AudioCodec getCodec() = 0;
- };
- } // namespace bell
|