8#define READ_BUFFER_SIZE 512
9#define MAX_WAV_HEADER_LEN 200
83 if (!
setPos(
"RIFF"))
return false;
86 if (!
setPos(
"WAVE"))
return false;
87 if (!
setPos(
"fmt "))
return false;
95 if (!
setPos(
"data"))
return false;
121 return pos > 0 ? pos + 8 : 0;
145 if (written != len) {
146 LOGE(
"Failed to write WAV header to output: written %d of %d bytes", written, len);
148 return written == len;
201 if (pos < 0)
return false;
241 for (i = 0; i < n; i++)
getChar();
310 {256, 0}, {512, -256}, {0, 0}, {192, 64},
311 {240, 0}, {460, -208}, {392, -232}};
345 LOGI(
"writeDataHeader: data_length=%u", data_length);
543 size_t total_written = 0;
566 for (
size_t i = 0; i <
in_size; i++) {
593 LOGW(
"WAV header misses 'data' section in len: %d",
600 LOGE(
"WAV header parsing failed");
626 LOGE(
"WAV format not supported: %d", (
int)format);
686 info.is_streamed =
true;
687 info.is_valid =
true;
688 info.data_length = 0x7fff0000;
689 info.file_size =
info.data_length + 36;
734 LOGI(
"is_streamed! because length is %u",
756 LOGE(
"The WAVEncoder is not open - please call begin()");
761 LOGE(
"No output stream was provided");
766 LOGI(
"Writing Header");
768 LOGE(
"Failed to write WAV header");
786 LOGI(
"The defined size was written - so we close the WAVEncoder now");
810 (data_length == 0 || data_length >= 0x7fff0000);
#define LOGW(...)
Definition AudioLoggerIDF.h:29
#define TRACED()
Definition AudioLoggerIDF.h:31
#define LOGI(...)
Definition AudioLoggerIDF.h:28
#define LOGE(...)
Definition AudioLoggerIDF.h:30
#define MAX_WAV_HEADER_LEN
Definition CodecWAV.h:9
#define assert(T)
Definition avr.h:10
virtual size_t write(const uint8_t *data, size_t len)
Definition Arduino.h:120
AudioFormat
Audio format codes used by Microsoft e.g. in avi or wav files.
Definition AudioFormat.h:19