@@ -35,9 +35,7 @@ class MetaDataICY : public AbstractMetaData {
35
35
setIcyMetaInt (metaint);
36
36
}
37
37
38
- ~MetaDataICY (){
39
- if (metaData!=nullptr ) delete[] metaData;
40
- }
38
+ virtual ~MetaDataICY () {}
41
39
42
40
// / Defines the ICE metaint value which is provided by the web call!
43
41
virtual void setIcyMetaInt (int value) override {
@@ -139,7 +137,7 @@ class MetaDataICY : public AbstractMetaData {
139
137
currentStatus = ProcessMetaData;
140
138
metaData[metaDataPos++]=ch;
141
139
if (metaDataPos>=metaDataLen){
142
- processMetaData (metaData, metaDataLen);
140
+ processMetaData (metaData. data () , metaDataLen);
143
141
LOGI (" Metadata ended" )
144
142
nextStatus = ProcessData;
145
143
}
@@ -152,7 +150,7 @@ class MetaDataICY : public AbstractMetaData {
152
150
Status nextStatus = ProcessData;
153
151
Status currentStatus = ProcessData;
154
152
void (*callback)(MetaDataType info, const char * str, int len) = nullptr ;
155
- char * metaData= nullptr ;
153
+ Vector< char > metaData{ 0 } ;
156
154
int totalData = 0 ;
157
155
int mp3_blocksize = 0 ;
158
156
int metaDataMaxLen = 0 ;
@@ -168,6 +166,7 @@ class MetaDataICY : public AbstractMetaData {
168
166
virtual void clear () {
169
167
nextStatus = ProcessData;
170
168
totalData = 0 ;
169
+ metaData.resize (0 );
171
170
metaDataLen = 0 ;
172
171
metaDataPos = 0 ;
173
172
dataLen = 0 ;
@@ -192,21 +191,9 @@ class MetaDataICY : public AbstractMetaData {
192
191
// / allocates the memory to store the metadata / we support changing sizes
193
192
virtual void setupMetaData (int meta_size) {
194
193
TRACED ();
195
- if (meta_size>0 ){
196
- if (metaData==nullptr ){
197
- metaData = new char [meta_size+1 ];
198
- metaDataMaxLen = meta_size;
199
- LOGD (" metaDataMaxLen: %d" , metaDataMaxLen);
200
- } else {
201
- if (meta_size>metaDataMaxLen){
202
- delete [] metaData;
203
- metaData = new char [meta_size+1 ];
204
- metaDataMaxLen = meta_size;
205
- LOGD (" metaDataMaxLen: %d" , metaDataMaxLen);
206
- }
207
- }
208
- memset (metaData, 0 , meta_size);
209
- }
194
+ metaData.resize (meta_size+1 );
195
+ metaDataMaxLen = meta_size;
196
+ memset (metaData.data (), 0 , meta_size+1 );
210
197
}
211
198
212
199
// / e.g. StreamTitle=' House Bulldogs - But your love (Radio Edit)';StreamUrl='';
0 commit comments