Files
ESP8266lib/ext/audio/AudioData.h
kazu d028b79325 added data structures
added audio support
added rfid support
added spi support
2017-03-12 13:02:06 +01:00

42 lines
777 B
C

#ifndef AUDIODATA_H
#define AUDIODATA_H
#define min(a,b) ( (a<b) ? (a) : (b) )
struct Data {
const uint8_t* data;
const uint32_t len;
Data(const uint8_t* data, const uint32_t len) : data(data), len(len) {;}
};
struct AudioData {
const uint8_t* data;
uint32_t available;
AudioData() : data(nullptr), available(0) {;}
AudioData(const uint8_t* data, const uint32_t len) : data(data), available(len) {
}
Data read(const uint32_t bytes) {
const uint32_t outBytes = min(bytes, this->available);
const uint8_t* ptr = this->data;
this->data += outBytes;
this->available -= outBytes;
return Data(ptr, outBytes);
}
uint32_t getNumBytesAvailable() const {
return available;
}
bool isEOF() const {
return available <= 0;
}
};
#endif // AUDIODATA_H