mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-11 14:07:11 +03:00
27 lines
535 B
C++
27 lines
535 B
C++
#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
|