25 enum Status { ProcessData, ProcessMetaData, SetupSize };
48 int bufferLen = 1024) {
67 virtual size_t write(
const uint8_t* data,
size_t len)
override {
69 for (
size_t j = 0; j < len; j++) {
112 LOGI(
"Unexpected metaDataLen -> processed as data");
115 LOGI(
"Metadata found");
125 case ProcessMetaData:
130 LOGI(
"Metadata ended")
178 for (
int j = 0; j < l; j++) {
181 if (ch < 0x80 || ch > 0xbf) {
182 LOGD(
"Invalid UTF-8 continuation byte: 0x%02X at pos %d", ch, j);
189 if (ch !=
'\n' && ch !=
'\r' && ch !=
'\t' && ch != 0 && (ch < 32 || ch == 127)) {
190 LOGD(
"Non-printable ASCII character: 0x%02X at pos %d", ch, j);
194 if (ch >= 0xc2 && ch <= 0xdf)
196 else if (ch >= 0xe0 && ch <= 0xef)
198 else if (ch >= 0xf0 && ch <= 0xf4)
201 LOGD(
"Invalid UTF-8 lead byte: 0x%02X at pos %d", ch, j);
205 LOGD(
"Non-ASCII character not allowed: 0x%02X at pos %d", ch, j);
211 LOGD(
"Incomplete UTF-8 sequence at end of string");
233 int start = meta.
indexOf(
"StreamTitle=");
238 if (start >= 0 &&
end > start) {
249 LOGW(
"Unexpected Data: corrupted metadata block rejected (len=%d)", len);
287 LOGI(
"icy-metaint: %s", iceMetaintStr);
289 LOGE(
"icy-metaint not defined");
292 int iceMetaint = value.
toInt();
301 if (callback ==
nullptr) {
302 LOGW(
"callback not defined")
304 if (
p_url ==
nullptr) {
305 LOGW(
"http not defined")
308 if (callback !=
nullptr &&
p_url !=
nullptr) {
#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