7#ifdef USE_STREAM_WRITE_OVERRIDE
8#define STREAM_WRITE_OVERRIDE override
10#define STREAM_WRITE_OVERRIDE
13#ifdef USE_STREAM_READ_OVERRIDE
14#define STREAM_READ_OVERRIDE override
16#define STREAM_READ_OVERRIDE
19#ifdef USE_STREAM_READCHAR_OVERRIDE
20#define STREAM_READCHAR_OVERRIDE override
22#define STREAM_READCHAR_OVERRIDE
40 virtual bool begin(){
return true;}
45 virtual size_t write(
const uint8_t *data,
size_t len)
override = 0;
47 virtual size_t write(uint8_t ch)
override {
72 virtual int read()
override {
81 virtual int peek()
override {
131 if (
info != newInfo){
159 for (
int j=0;j<len/2;j++){
160 write((uint8_t*)&zero,2);
166 memset(buffer, 0, length);
174 LOGE(
"AudioStream: %s unsupported operation!", msg);
270 size_t write(
const uint8_t *data,
size_t size)
override {
return 0;};
302 LOGI(
"using next stream");
318 for (
int j = 0; j <
_timeout / 10; j++) {
321 if (result != 0)
break;
328 if (stream ==
nullptr)
return 0;
342 size_t write(
const uint8_t *data,
size_t len)
override {
return len; }
345 memset(data, 0, len);
365 bool autoRemoveOldestDataIfFull =
false) {
395 virtual bool begin(
size_t activeWhenPercentFilled) {
406 virtual void end()
override {
420 virtual size_t write(
const uint8_t *data,
size_t len)
override {
421 if (len == 0)
return 0;
428 LOGI(
"setting active");
433 int available_bytes =
435 if ((
int)len > available_bytes) {
436 int gap = len - available_bytes;
445 virtual size_t readBytes(uint8_t *data,
size_t len)
override {
463 return *(
reinterpret_cast<uint8_t *
>(&result));
544 virtual void end()
override {
585 virtual size_t write(
const uint8_t *data,
size_t len)
override {
623 virtual size_t readBytes(uint8_t *data,
size_t len)
override {
643 size_t node_len = p_node->
len;
644 size_t result_len = node_len < len ? node_len : len;
645 if (result_len > 0) {
646 memcpy(data, &p_node->
data[0], result_len);
649 if (node_len > result_len) {
650 size_t remainder_len = node_len - result_len;
652 uint8_t *start = &p_node->
data[result_len];
659 if (ok && removed !=
nullptr) {
685 for (
int j=0;j<remove;j++){
688 if (node!=
nullptr)
delete node;
691 if (node!=
nullptr)
delete node;
697 auto first = *
list().begin();
699 clean_start.
convert(&(first->data[0]),first->len);
703 auto last = * (--(
list().end()));
705 clean_end.
convert(&(last->data[0]),last->len);
#define TRACED()
Definition AudioLoggerIDF.h:31
#define LOGI(...)
Definition AudioLoggerIDF.h:28
#define LOGE(...)
Definition AudioLoggerIDF.h:30
#define STREAM_READCHAR_OVERRIDE
Definition BaseStream.h:22
#define STREAM_READ_OVERRIDE
Definition BaseStream.h:16
#define DEFAULT_BUFFER_SIZE
Definition avr.h:20
#define assert(T)
Definition avr.h:10
int _timeout
Definition Arduino.h:133
virtual void flush()
Definition Arduino.h:130
virtual size_t readBytes(uint8_t *data, size_t len)
Definition Arduino.h:140
virtual int available()
Definition Arduino.h:139