@@ -49,7 +49,9 @@ class StreamCopyT {
49
49
// / (Re)starts the processing
50
50
void begin (){
51
51
TRACED ();
52
- mime_detector.begin ();
52
+ if (p_mime_detector!=nullptr ) {
53
+ p_mime_detector->begin ();
54
+ };
53
55
resize (buffer_size);
54
56
if (buffer){
55
57
LOGI (" buffer_size=%d" ,buffer_size);
@@ -154,7 +156,9 @@ class StreamCopyT {
154
156
}
155
157
156
158
// determine mime
157
- mime_detector.write (buffer.data (), bytes_to_read);
159
+ if (p_mime_detector != nullptr ){
160
+ p_mime_detector->write (buffer.data (), bytes_to_read);
161
+ }
158
162
159
163
// convert data
160
164
if (p_converter!=nullptr ) p_converter->convert ((uint8_t *)buffer.data (), bytes_read );
@@ -255,11 +259,6 @@ class StreamCopyT {
255
259
delay_on_no_data = delayMs;
256
260
}
257
261
258
- // / Provides the actual mime type, that was determined from the first available data
259
- const char * mime () {
260
- return mime_detector.mime ();
261
- }
262
-
263
262
// / Defines a callback that is notified with the wirtten data
264
263
void setCallbackOnWrite (void (*onWrite)(void *obj, void *buffer, size_t len), void* obj){
265
264
TRACED ();
@@ -345,13 +344,12 @@ class StreamCopyT {
345
344
// / Activate the synchronization from the AudioInfo form the source to the target
346
345
void setSynchAudioInfo (bool active){
347
346
is_sync_audio_info = active;
348
- }
349
-
350
- // / Define the callback that will notify about mime changes
351
- void setMimeCallback (void (*callback)(const char *)){
352
- mime_detector.setMimeCallback (callback);
353
- }
347
+ }
354
348
349
+ // / Define a mime detector
350
+ void setMimeDetector (MimeDetector &mime){
351
+ p_mime_detector = &mime;
352
+ }
355
353
356
354
protected:
357
355
Stream *from = nullptr ;
@@ -374,7 +372,7 @@ class StreamCopyT {
374
372
bool is_sync_audio_info = false ;
375
373
AudioInfoSupport *p_audio_info_support = nullptr ;
376
374
BaseConverter* p_converter = nullptr ;
377
- MimeDetector mime_detector ;
375
+ MimeDetector* p_mime_detector = nullptr ;
378
376
379
377
void syncAudioInfo (){
380
378
// synchronize audio info
0 commit comments