31 virtual bool begin() {
return true; }
124 setValue(source.buffer, source.buffer_size, source.memory_type);
126 source.setValue(
nullptr, 0, source.memory_type);
171 if (
buffer ==
nullptr)
return 0;
185 for (
size_t j = 0;
j < len;
j++) {
196 if (
buffer ==
nullptr)
return 0;
225 while (count < len) {
245 virtual void end()
override {
251 virtual void clear(
bool reset =
false) {
264 LOGW(
"data is read only");
294#if defined(USE_PSRAM) && defined(ARDUINO)
349 if (
this == &source)
return;
453template <
class T =
int16_t>
476 if (
newInfo.bits_per_sample !=
sizeof(
T) * 8) {
477 LOGE(
"Wrong bits_per_sample: %d",
newInfo.bits_per_sample);
537 LOGD(
"GeneratedSoundStream::readBytes: %u", (
unsigned int)len);
573 if (buffer_size > 0)
resize(buffer_size);
579 if (buffer_size > 0)
resize(buffer_size);
585 if (buffer_size > 0)
resize(buffer_size);
591 if (buffer_size > 0)
resize(buffer_size);
597 if (buffer_size > 0)
resize(buffer_size);
619 for (
int j = 0;
j < len;
j++) {
674 if (
p_in ==
nullptr)
return 0;
731template <
typename T =
int16_t>
1078 if (
p_print ==
nullptr)
return 0;
1084 if (
p_print ==
nullptr)
return 0;
1103 if (byte_rate == 0) {
1104 LOGE(
"Audio Info not defined");
1193 if (
p_in ==
nullptr)
return 0;
1198 if (
p_in ==
nullptr) {
1216 LOGD(
"wait us: %ld",
static_cast<long>(
waitUs));
1222 LOGD(
"negative delay!")
1256template <
typename T=
int16_t,
typename SumT=
float>
1271 if (index <
size()) {
1275 LOGE(
"Invalid index %d - max is %d", index,
size() - 1);
1295 LOGE(
"Invalid index %d - max is %d", index,
size() - 1);
1315 LOGW(
"readBytes: %d", (
int)len);
1437 for (
int j = 0;
j <
size();
j++) {
1464template <
typename T>
1498 LOGD(
"readBytes: %d", (
int)len);
1499 T *p_data = (
T *)data;
1503 for (
int j = 0;
j < frames;
j++) {
1504 for (
int i = 0; i <
records.size(); i++) {
1525 records[channel].weight = weight;
1539 int result =
records[0].stream->available();
1541 int tmp =
records[
j].stream->available();
1680 size_t result = len;
1730template <
typename T =
int16_t,
class TF =
float>
1764 LOGE(
"channels must not be 0");
1776 if (
p_print ==
nullptr)
return 0;
1784 result =
converter.convert(data, result);
1794 if (
p_print ==
nullptr)
return 0;
1851 LOGI(
"VolumeMeter::setAudioInfo: channels %d", channels);
1863 size_t result = len;
1864 if (
p_out !=
nullptr) {
1885 LOGE(
"begin not called!");
1889 LOGE(
"invalid channel %d", channel);
1933 return total / count;
2001 if (data ==
nullptr || len == 0)
return;
2022 template <
typename T>
2061 unsigned long current_time =
millis();
2344 LOGI(
"sample_rate: %u -> time: %u milliseconds",
2423 unsigned long ms =
millis();
2453 if (
src !=
nullptr) {
2466 if (
src->buffer->writeArray(
src->frame, available_bytes) !=
2472 if (
src->buffer !=
nullptr &&
src->frame !=
nullptr &&
2473 src->frameSize > 0) {
2475 src->buffer->readArray(
src->frame,
src->frameSize);
2476 if (available_bytes !=
2477 src->frameCallback(
src->frame, available_bytes)) {
2478 LOGE(
"data underflow");
2482 src->measureSampleRate();
#define LOGW(...)
Definition AudioLoggerIDF.h:29
#define TRACEI()
Definition AudioLoggerIDF.h:32
#define TRACED()
Definition AudioLoggerIDF.h:31
#define LOGI(...)
Definition AudioLoggerIDF.h:28
#define LOGD(...)
Definition AudioLoggerIDF.h:27
#define LOGE(...)
Definition AudioLoggerIDF.h:30
#define IRAM_ATTR
Definition AudioStreams.h:13
#define DEFAULT_BUFFER_SIZE
Definition avr.h:20
#define assert(T)
Definition avr.h:10
virtual int availableForWrite()
Definition Arduino.h:128
virtual size_t write(const uint8_t *data, size_t len)
Definition Arduino.h:120
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
#define URL_CLIENT_TIMEOUT
Definition esp8266.h:23
MemoryType
Memory types.
Definition AudioTypes.h:33
RxTxMode
The Microcontroller is the Audio Source (TX_MODE) or Audio Sink (RX_MODE). RXTX_MODE is Source and Si...
Definition AudioTypes.h:26
@ RAM
Definition AudioTypes.h:33
@ PS_RAM
Definition AudioTypes.h:33
@ FLASH_RAM
Definition AudioTypes.h:33
@ RX_MODE
Definition AudioTypes.h:26
@ US
Definition AudioTypes.h:44