31 virtual bool begin() {
return true; }
112 setValue(source.buffer, source.buffer_size, source.memory_type);
114 source.setValue(
nullptr, 0, source.memory_type);
152 if (
buffer ==
nullptr)
return 0;
166 for (
size_t j = 0;
j < len;
j++) {
177 if (
buffer ==
nullptr)
return 0;
206 while (count < len) {
226 virtual void end()
override {
232 virtual void clear(
bool reset =
false) {
245 LOGW(
"data is read only");
275#if defined(USE_PSRAM) && defined(ARDUINO)
323 if (
this == &source)
return;
396template <
class T =
int16_t>
419 if (
newInfo.bits_per_sample !=
sizeof(
T) * 8) {
420 LOGE(
"Wrong bits_per_sample: %d",
newInfo.bits_per_sample);
477 LOGD(
"GeneratedSoundStream::readBytes: %u", (
unsigned int)len);
513 if (buffer_size > 0)
resize(buffer_size);
519 if (buffer_size > 0)
resize(buffer_size);
525 if (buffer_size > 0)
resize(buffer_size);
531 if (buffer_size > 0)
resize(buffer_size);
537 if (buffer_size > 0)
resize(buffer_size);
559 for (
int j = 0;
j < len;
j++) {
614 if (
p_in ==
nullptr)
return 0;
671template <
typename T =
int16_t>
1017 if (
p_print ==
nullptr)
return 0;
1023 if (
p_print ==
nullptr)
return 0;
1042 if (byte_rate == 0) {
1043 LOGE(
"Audio Info not defined");
1132 if (
p_in ==
nullptr)
return 0;
1137 if (
p_in ==
nullptr) {
1155 LOGD(
"wait us: %ld",
static_cast<long>(
waitUs));
1161 LOGD(
"negative delay!")
1195template <
typename T=
int16_t,
typename SumT=
int>
1210 if (index <
size()) {
1214 LOGE(
"Invalid index %d - max is %d", index,
size() - 1);
1234 LOGE(
"Invalid index %d - max is %d", index,
size() - 1);
1254 LOGW(
"readBytes: %d", (
int)len);
1318 for (
int i = 0; i <
streams.size(); i++) {
1367 for (
int j = 0;
j < samples;
j++) {
1376 for (
int j = 0;
j <
size();
j++) {
1403template <
typename T>
1437 LOGD(
"readBytes: %d", (
int)len);
1438 T *p_data = (
T *)data;
1442 for (
int j = 0;
j < frames;
j++) {
1443 for (
int i = 0; i <
records.size(); i++) {
1464 records[channel].weight = weight;
1478 int result =
records[0].stream->available();
1480 int tmp =
records[
j].stream->available();
1615 size_t result = len;
1665template <
typename T =
int16_t,
class TF =
float>
1695 LOGE(
"Inconsistent number of channels");
1703 LOGE(
"channels must not be 0");
1750 LOGE(
"p_converter is null");
1800 LOGI(
"VolumeMeter::setAudioInfo: channels %d", channels);
1812 size_t result = len;
1813 if (
p_out !=
nullptr) {
1834 LOGE(
"begin not called!");
1838 LOGE(
"invalid channel %d", channel);
1882 return total / count;
1950 if (data ==
nullptr || len == 0)
return;
1971 template <
typename T>
2010 unsigned long current_time =
millis();
2293 LOGI(
"sample_rate: %u -> time: %u milliseconds",
2372 unsigned long ms =
millis();
2402 if (
src !=
nullptr) {
2415 if (
src->buffer->writeArray(
src->frame, available_bytes) !=
2421 if (
src->buffer !=
nullptr &&
src->frame !=
nullptr &&
2422 src->frameSize > 0) {
2424 src->buffer->readArray(
src->frame,
src->frameSize);
2425 if (available_bytes !=
2426 src->frameCallback(
src->frame, available_bytes)) {
2427 LOGE(
"data underflow");
2431 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 MIN(A, B)
Definition AudioTypes.h:17
#define DEFAULT_BUFFER_SIZE
Definition avr.h:20
#define assert(T)
Definition avr.h:10
#define URL_CLIENT_TIMEOUT
Definition esp8266.h:23
MemoryType
Memory types.
Definition AudioTypes.h:37
RxTxMode
The Microcontroller is the Audio Source (TX_MODE) or Audio Sink (RX_MODE). RXTX_MODE is Source and Si...
Definition AudioTypes.h:30
@ RAM
Definition AudioTypes.h:37
@ PS_RAM
Definition AudioTypes.h:37
@ FLASH_RAM
Definition AudioTypes.h:37
@ RX_MODE
Definition AudioTypes.h:30
@ US
Definition AudioTypes.h:48