3#include "AudioToolsConfig.h"
4#include "AudioTools/CoreAudio/AudioTypes.h"
5#include "AudioTools/CoreAudio/AudioStreams.h"
6#include "AudioTools/Communication/HTTP/AbstractURLStream.h"
7#include "AudioTools/CoreAudio/AudioMetaData/MetaDataFilter.h"
8#include "MetaDataICY.h"
9#include "MetaDataID3.h"
36 if (meta!=
nullptr)
delete meta;
49 int metaInt = icySetup.
setup(url);
55 virtual void begin(
int iceMetaint=0) {
56 LOGD(
"%s: %d", LOG_METHOD, iceMetaint);
57 if (callback!=
nullptr){
58 if (meta ==
nullptr) {
59#if defined(USE_URL_ARDUINO)
65 meta->setCallback(callback);
66 meta->setIcyMetaInt(iceMetaint);
69 LOGI(
"callback not defined -> not Metadata processing")
74 if (callback!=
nullptr && meta !=
nullptr) {
81 virtual size_t write(
const uint8_t *data,
size_t len){
82 LOGD(
"%s: %d", LOG_METHOD, (
int)len);
84 if (callback!=
nullptr){
87 if (meta->write(data, len)!=len){
88 LOGE(
"Did not write all data");
98 virtual size_t write(uint8_t c) {
99 LOGE(
"Not Supported");
104 AbstractMetaData *meta=
nullptr;
105 void (*callback)(
MetaDataType info,
const char* str,
int len)=
nullptr;